목록강한 파이썬/강한 알고리즘 개념 (2)
너무너무 멋져 눈이눈이 부셔

딱 절반 아니어도 노상관(탑다운) 전체의 문제를 해결하기 위해서 쪼개서 문제를 해결. Top-down은 가장 큰 문제를 방문 후 작은 문제를 호출 하여 답을 찾는 방식 -최소 크기가 될 때까지 (1개) 계속 나누고, 이걸 정렬되었다고 본다. -동시에 이뤄지는 게 아니라 왼쪽을 다 자르고 오른쪽을 자르는 식으로 진행. 왼쪽 절반/ 오른쪽 절반을 각각 정렬한다. 제일 왼쪽에 있는(정렬되어있음을 전제하므로 왼쪽이 제일 작음) 한쪽이 끝나면 나머지 다 붙여주면 됨. 다 나누고 작은 거 순서대로 다 갖다 붙이자! =>머지 그대로 두면 원하는 값이 안나옴 시간초과 남. (따져야 하는 경우의 수가 너무 많아서 가지치기 필수) # 1. 정렬된 두 배열을 합치는 과정 -> merge() # 2. 정렬된 배열을 반환하는 ..
강한 파이썬/강한 알고리즘 개념
2023. 3. 29. 17:59

def bfs(i,j): queue = [] visited = [[0] * N for _ in range(N)] queue.append((i,j)) visited[i][j] = 1 while queue: ci, cj = queue.pop(0) if len(result) > max_v: max_v = len(result) result_num = result[0] for di,dj in [(-1,0),(1,0),(0,-1),(0,1)]: #상하좌우 ni = ci + di nj = cj + dj # 범위 내, 1큰, 노방문 if 0
강한 파이썬/강한 알고리즘 개념
2023. 2. 21. 10:49