본문 바로가기

728x90

프로그래밍 회고록

(42)
2021.12.08 코테_위에서 아래로 # 오늘의 문제 위에서 아래로 난이도 하 | 풀이시간 15분 | 시간 제한 1초 | 메모리 제한 128m # 나의 코드 n = input() arr = [] for _ in range(int(n)): arr.append(int(input())) arr.sort(reverse=True) for i in arr: print(i, end=' ') # 정답과의 비교 코드 절차상의 큰 차이는 없다고 판단한다. n = int(input()) array = [] for i in range(n): array.append(int(input)) array = sorted(array, reverse = True) for i in array: print(i, end=' ')
2021.12.08 코테_퀵 정렬 연습 # 오늘의 문제 퀵 정렬 연습 # 나의 코드 퀵 정렬 연습 퀵정렬 : pivot ( 보통 배열의 첫번째 값을 지정한다 )이라고 하는 다른 값들과 비교할 값을 중점으로 왼쪽과 오른쪽을 나눈 후 재귀적으로 해당 함수를 계속 호출해 정렬하는 방식 직관적인 일반적 프로그래밍 언어식으로 만든 방식 array = [5, 7, 9, 0, 3, 1, 6, 2, 4, 8] def quick_sort(array, start, end): if start >= end: return pivot = start left = start + 1 right = end while left right: array[right], array[pivot] = array[pivot], array[right] else: array[left], ar..
2021.11.25 코테_삽입 정렬 연습 # 오늘의 문제 삽입 정렬 연습 # 나의 코드 삽입 정렬 연습 삽입정렬 : 배열의 모든 요소를 앞에서부터 정렬된 배열 부분과 비교한 후 자신이 들어가야할 정렬 위치를 찾아 삽입함으로 정렬이 되도록 하는 알고리즘을 말한다. array = [7,5,9,0,3,1,6,2,4,8] for i in range(1, len(array)): for j in range( i , 0 , -1): if array[j] < array[j-1]: array[j-1],array[j] = array[j],array[j-1] print(array) # 첫번째 배열은 정렬되어 있다고 가정하고 for 문을 돈다. # 두번째 루프에서는 i번 ~ 0 번 까지 -1씩 (큰수에서 작은수로) 돈다. # 배열의 j번째보다 배열의 j-1번째가 크..
2021.11.22 코테_선택 정렬 연습 # 오늘의 문제 선택 정렬 연습 # 나의 코드 선택 정렬 연습 선택정렬 : 기준이 되는 데이터 값을 토대로 유한체의 값을 뽑아 비교해가며 가장 작은 값을 찾아 첫번째 에 넣고, 그 다음 값을 가져와 유한체의 값을 뽑아 비교해 두번째에 넣고 끝날때 까지 그 작업을 n번 지속해 정렬을 하는 방법 array = [ 7, 5, 9, 0, 3, 1, 6, 2, 4, 8 ] for i in range(len(array)): min_index = i #range 파라미터 2개 들어가는 걸 모른다. for j in range( i+ 1 , len(array) ): if array[min_index] > array[j]: min_index = j array[i], array[min_index] = array[min_in..
2021.11.14 코테_음료수 얼려 먹기 # 오늘의 문제 음료수 얼려 먹기 난이도 중 | 풀이시간 30분 | 시간 제한 1초 | 메모리 제한 128m # 나의 코드 재귀함수란 개념이 낯설어서 아직은 제대로 코드 현이 되지 않아 많은 참고를 받은후에 코드를 구현했다. n,m = map(int, input().split()) graph = [] for i in range(n): graph.append(list(map(int, input()))) cnt = 0 def dfs(x,y): if x= n or y >= m : return False if graph[x][y] == 0: graph[x][y] = 1 #좌로 재귀함수 dfs(x+1,y) #우로 재귀함수 dfs(x-1,y) #상으로 재귀함수 dfs(x,y+1..
2021.11.13 코테_BFS 예시코드 # 오늘의 문제 BFS ( Breadth-First Search) 예시코드 # BFS 너비우선 탐색 - 그래프 ( 간선과 노드로 이루어진) 라는 자료구조를 탐색하는 문제가 많이 출제된다. 거기에서 사용하는 알고리즘이라고 표현할 수 있겠다. 아래의 코드는 해당 그래프를 BFS 로 탐색하는 방법의 예시를 코드로 옮겨 놓은 것이고 이로써 직접 작성해보며 BFS 에 대한 이해를 높이기 위해 서술 해두었다. from collections import deque def bfs(graph, start, visited): queue = deque([start]) visited[start] = True while queue: #이부분에 print(queue) 하면 이해가 쉽다. v = queue.popleft() pri..
2021.11.13 코테_DFS 예시코드 # 오늘의 문제 DFS ( Depth-First Search) 예시코드 # DFS 너비우선 탐색 - 그래프 ( 간선과 노드로 이루어진) 라는 자료구조를 탐색하는 문제가 많이 출제된다. 거기에서 사용하는 알고리즘이라고 표현할 수 있겠다. 아래의 코드는 해당 그래프를 DFS로 탐색하는 방법의 예시를 코드로 옮겨 놓은 것이고 이로써 직접 작성해보며 DFS에 대한 이해를 높이기 위해 서술 해두었다. #DFS 예제 #노드 구조를 그래프로 하고 #v 가 노드이름 #visited가 방문해본 곳 true false def dfs(graph, v, visited): visited[v] = True print(v, end=' ') #v의 리스트 안의 i들중 방문 안해봤으면 재귀함수 세팅 for i in graph[v]: ..
Java(Spring)와 JavaScript(vue.js)로 서버단 Mp3파일 클라이언트로 보내 재생하기 - 2.JavaScript # 앞선 글 Java(Spring)와 JavaScript(vue.js)로 서버단 Mp3파일 클라이언트로 보내 재생하기 - 1.Java https://meotlog.tistory.com/40 Java(Spring)와 JavaScript(vue.js)로 서버단 Mp3파일 클라이언트로 보내 재생하기 - 1.Java # 서론 브라우저에서 곧바로 내 로컬 파일에 있는 Mp3를 재생시키는 기능을 구현하려고 하니 Chrome에서는 정책상 불가능했다. 방법에 대해 고민하다 지인에게 파일을 서버단에서 읽어 클라이언 meotlog.tistory.com #본론 구현하는 흐름은 다음과 같다. 첫째, 자바(서버)에서 파일을 읽어들인다. 둘째, 해당 파일을 통신가능하게 인코딩한다. 셋째, 클라이언트에서 해당 파일을 받는다. 넷째..

728x90
반응형