728x90 dfs bfs2 [이코테] 음료수 얼려먹기 / 파이썬 / python / DFS 👩🏻💻 Code 🐥 풀이 얼음 트레이의 값이 0일때 마다 1로 바꿔준뒤 상하좌우를 돌며 dfs를 재귀적으로 호출한다. 트레이의 값이 0이 아니면 False를 반환하고, 0일 때 dfs호출이 모두 끝나면 True를 반환해준다. 트레이의 모든 좌표를 dfs함수로 검사하여 True가 반환되었다면? -> dfs함수의 재귀 호출이 모두 끝났다는 것 ( = 덩어리 하나를 모두 얼렸다는 뜻!) -> True 반환할때마다 count 를 +1 해주자 Algorithm/이코테 2021. 9. 3. [파이썬] 'DFS/BFS' 개념 및 예제 DFS - 깊이 우선 탐색 (스택 사용) 동작 과정) 1. start 노드 스택에 삽입 후 방문처리 2. 스택 최상단 노드에 방문하지 않은 인접 노드 있다면, 그 인접 노드를 스택에 넣고 방문처리. 방문하지 않은 인접 노드 없으면, 스택에서 최상단 노드 꺼냄 3. 2번 과정 더이상 수행할 수 없을 때까지 반복 예시) def dfs(graph, v , visited): visited[v] = True # 현재 노드 방문 처리 print(v, end =' ') for i in graph[v]: # 현재 노드와의 인접노드들 재귀적으로 dfs 처리 if not visited[v]: dfs(graph, i , visited) # 각 노드가 연결된 정보를 2차원 리스트로 표현 graph =[ [], [2,3,8],.. Algorithm/이론 2021. 1. 6. 이전 1 다음 728x90