728x90 파이썬 bfs2 [백준] 2178번 미로 탐색 / 파이썬 / python / BFS 📌 문제 N×M크기의 배열로 표현되는 미로가 있다. 미로에서 1은 이동할 수 있는 칸을 나타내고, 0은 이동할 수 없는 칸을 나타낸다. 이러한 미로가 주어졌을 때, (1, 1)에서 출발하여 (N, M)의 위치로 이동할 때 지나야 하는 최소의 칸 수를 구하는 프로그램을 작성하시오. 한 칸에서 다른 칸으로 이동할 때, 서로 인접한 칸으로만 이동할 수 있다. 위의 예에서는 15칸을 지나야 (N, M)의 위치로 이동할 수 있다. 칸을 셀 때에는 시작 위치와 도착 위치도 포함한다. 😈 입력 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. 💬 출력 첫째 줄에 지나야 하는 최소의 칸 수를 출력한다. 항상.. Algorithm/Baekjoon 2021. 7. 31. [파이썬] '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