이 코드는 BFS를 이용하여 최단 경로를 탐색합니다.
BFS는 시작 지점에서 가까운 노드부터 탐색하기 때문에, 도착 지점에 처음 도달했을 때가 곧 최단 거리이며,
따라서
visited[n-1][m-1]
에 저장된 값이 최단 거리를 보장합니다.
또한 방문 여부를 확인하며 중복 방문을 방지하기 때문에, 불필요한 경로 탐색도 하지 않습니다.
from collections import deque
def solution(maps):
n,m = len(maps), len(maps[0])
dx, dy = [1,-1,0,0], [0,0,1,-1]
visited = [[-1 for _ in range(m)] for _ in range(n)]
visited[0][0] = 1
queue = deque([(0,0)])
while queue:
x, y = queue.popleft()
for i in range(4):
nx = x + dx[i]
ny = y + dy[i]
if 0 <= nx < n and 0 <= ny < m and visited[nx][ny] == -1 and maps[nx][ny] == 1:
queue.append([nx, ny])
visited[nx][ny] = visited[x][y] + 1
return visited[n-1][m-1]
[추천 강의✨]
38군데 합격 비법, 2025 코딩테스트 필수 알고리즘| 딩코딩코 - 인프런 강의
현재 평점 5.0점 수강생 2,019명인 강의를 만나보세요. 초보자도 쉽게 이해하는 단계별 설명으로, 막연했던 코딩 테스트가 명확해집니다. 필요한 것만 배우고 바로 실전에 적용하세요! 알고리즘,
www.inflearn.com
6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법| 딩코딩코 - 인
현재 평점 5.0점 수강생 457명인 강의를 만나보세요. 모든 이력서가 비슷해 보이는 세상, ‘차별화’가 합격을 만듭니다. 6주간, 백엔드 실무자가 직접 전하는 실전 이력서 전략 4가지를 배우세요.
www.inflearn.com
728x90
반응형
'Algorithm' 카테고리의 다른 글
| [백준 | python] 안전 영역 (4) | 2025.08.11 |
|---|---|
| [카카오 코테 2020 | python] 키패드 누르기 (0) | 2025.07.04 |
| [프로그래머스 DP | python] 도둑질 🔥 (0) | 2025.07.01 |
| [카카오 코테 2023 | python] 이모티콘 할인행사 (0) | 2025.07.01 |
| [카카오 코테 2020 | python] 문자열 압축 ✅ (0) | 2025.06.27 |