https://github.com/chojondocho/battlesubmit/blob/main/code_hunt_3.py

battlesubmit/code_hunt_3.py at main · chojondocho/battlesubmitContribute to chojondocho/battlesubmit development by creating an account on GitHub.github.com



문제 개요:
- 6×6 격자, 각 칸은 0(이동 가능) 또는 1(이동 불가능)
- (1,1)에서 (6,6)으로 상·하·좌·우 이동
- 격자를 벗어나면 안 되고, 벽(1)은 통과 불가
- 최단 이동 횟수를 구하거나, 불가능하면 -1을 출력

문제 해결 전략:
- BFS(너비 우선 탐색)를 사용하여 (0,0)부터 (5,5)까지의 최단 경로를 탐색
- 이미 방문한 칸은 방문하지 않도록 visited 배열 사용
- 이동 횟수를 기록하기 위해 dist 배열 사용
- 큐에서 꺼낸 위치가 목적지이면 바로 dist 반환
- 탐색 종료 후에도 목적지에 도달하지 못하면 -1

결론:
- 격자 크기가 6×6로 작아 BFS로 충분히 빠르게 해결 가능
- (1,1)과 (6,6)이 벽인 경우 곧바로 -1
- 문제 요구 사항대로 입력받아 BFS 실행 후 결과 출력

장점:
- BFS는 최단 경로를 찾는 데 적합
- O(36) = O(1)로, 매우 빠름
- 확장성: 6×6 외의 격자에도 쉽게 적용 가능