목록전체 글 (10)
세상의 모든 알고리즘
page 149 음료수 얼려먹기 문제 얼음틀을 입력받아서 리스트로 받고 0으로된 구역의 개수를 구하는 문제 dfs로 각 위치마다 방문했을때 방문표시를 해주고 상하좌우 모든 노드를 돌며 구역의 개수를 세도록 만들어 보았습니다. ''' 입력예시 4 5 00110 00011 11111 00000 정답 -> 3 ''' n,m = map(int, input().split()) ice = [] for _ in range(n): ice.append(list(map(int, input()))) score = 0 def dfs(x,y): if x= n or y = m: return if ice[x][y] == 0: ice[x][y] = 1 dfs(x+1, y) dfs(x-1, y) dfs(x, y+1) dfs(x, y-..
위 그래프를 DFS,BFS로 각각 탐색했을때의 순서를 구하는 파이썬 코드를 제작하시오. 단, 그래프 순서를 탐색할때 낮은 번호의 숫자부터 탐색해야 합니다. 1. dfs 깊이우선탐색 스택을 활용해 재귀적으로 생각하여 해결 순서 1 2 7 6 8 3 4 5 # DFS 깊이우선탐색 def dfs(graph,visited, v): visited[v] = 1 print(v, end=" ") for i in graph[v]: if visited[i] == 0: dfs(graph, visited, i) graph = [[],[2,3,8],[1,7],[1,4,5],[3,5],[3,4],[7],[2,6,8],[1,7]] visited = [0]*9 dfs(graph, visited, 1) 2. bfs 너비우선탐색 큐를 ..