본문 바로가기

dfs2

(백준) 2667번: 단지번호붙이기 파이썬 풀이(BFS&DFS) 1. 문제풀러가기 2. 문제 해결 코드 3. 로직 분석 1. 문제풀러가기 https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net 문제 해석: - 1로 이어진 부분을 체크하고, 이어진 부분의 개수 출력하기 2. 문제 해결 코드 코드 (성공) DFS풀이 import sys input = sys.stdin.readline n = int(input()) v = [[False for _ in range(n)] for _ in range(n)] #방문체크 리스트 .. 2022. 11. 27.
(알고리즘)DFS(Depth-First-Search) 깊이 우선 탐색 - 파이썬 DFS 1. DFS동작 예시 DFS(Depth-First-Search)는 말 그대로 깊은 곳에 있는 노드를 탐색하는 방법이다. DFS는 재귀함수를 사용하여 깊이 있는노드를 탐색한다. *재귀함수는 스택과 유사하다. 집어 넣은 순서대로 1->2->4->8->5->3->6->7 2. DFS코드 예제(python) import graphlib graph=[ [], #노드가 1부터 시작하므로 비움. [2,5,3], #1과 인접한 노드 [1,4,8], #2와 인접한 노드 [1,6,7], #3과 인접한 노드 [2], #4와 인접한 노드 [1,8], #5와 인접한 노드 [3,7], #6과 인접한 노드 [3,6], #7과 인접한 노드 [2,5] #8과 인접한 노드 ] visited = [False]*len(graph) .. 2021. 6. 11.