[BFS/DFS] 4방향 탐색
# 2차원 배열 map은 모두 정수 타입 숫자들로 채워져 있다. 여기서 0은 바다를 뜻하고 0 이외의 값은 땅을 뜻한다. map에 몇 개의 섬이 있는지 반환하는 함수를 구현하라. # map = [ [ 1, 1, 0, 0, 0 ], # [ 1, 0, 0, 0, 0 ], # [ 0, 0, 0, 1, 0 ], # [ 0, 1, 0, 0, 0 ], # [ 1, 1, 1, 0, 0 ] ] # the return value should be 3 def search_bfs(i,j,map): global result #맨 처음 위치 q = [] q.append((i,j)) check[i][j] = True while q: x,y = q.pop(0) #bfs for k in range(4) : #4방향 이동 nx, ny..
2021. 4. 5.
[브루트포스/재귀함수] N개 알파벳 중에 R개를 나열하는 경우
# N개 알파벳 중에 R개를 나열하는 경우 def permutation (cur, n, r, result): if cur >= r : print(result) return else: for i in range(n): alpha = chr(ord('a') + i) if not check[cur]: result[cur] = alpha check[cur] = True permutation(cur+1,n,r,result) # check[cur] = False result[cur] = 0 if __name__ == '__main__': n,r = map(int,input().split()) check = [False]*r result = [0]*r permutation(0,n,r,result) r중 for문 수행..
2021. 4. 5.