로딩
요청 처리 중입니다...

[알고리즘풀이 with Python] 백준 2178번 - 미로탐색

 [알고리즘풀이 with Python] 백준 2178번 - 미로탐색

설명 BFS(너비 우선 탐색) 알고리즘을 사용하여 미로찾기 문제의 해답을 구한다. (0, 0)의 좌표에서 시작해서 (N-1, M-1)의 좌표까지 최소거리를 찾는 문제다. 먼저, 입력을 받는 부분에서 sys.stdin.readline을 사용하여 입력을 빠르게 받는다.

그리고, N개의 줄에 걸쳐서 M개씩의 숫자를 입력받아 2차원 리스트인 graph에 저장한다. 이때, strip 함수를 사용하여 개행 문자('\n')를 제거해준다.

다음으로, BFS 알고리즘을 구현한다. BFS 알고리즘은 큐(queue)를 사용하여 구현한다.

우선, bfs(0, 0)을 호출하여 시작점인 (0, 0) 좌표를 큐에 추가한다. 그리고, 큐가 빌 때까지 다음을 반복한다.

큐에서 좌표 (a, b)를 꺼낸다. 상하좌우로 인접한 좌표(nx, ny)를 계산한다.

만약 인접한 좌표 (nx, ny)가 미로의 범위를 벗어나지 않고, 해당 좌표의 값이 1인 경우에는 해당 좌표를 큐에 추가한다. 그리고, 해당 좌표 (nx, ny)...

# 2178파이썬 # bfs # 너비우선탐색 # 백준2178 # 백준2178파이썬