-
게임 맵 최단거리코딩 테스트/Level 2 2021. 4. 10. 23:06반응형
게임 맵 최단거리
찾아라 프로그래밍 마에스터
1268명 완료programmers.co.kr/learn/courses/30/lessons/1844
from collections import deque def solution(maps): n, m = len(maps), len(maps[0]) visited = {(0, 0)} que = deque([[0, 0, 1]]) while que: x, y, cnt = que.popleft() for a, b in ((0, 1), (1, 0), (-1, 0), (0, -1)): nx, ny = x + a, y + b if nx == n - 1 and ny == m - 1: return cnt + 1 elif 0 <= nx < n and 0 <= ny < m and maps[nx][ny] and (nx, ny) not in visited: que.append([nx, ny, cnt + 1]) visited.add((nx, ny)) maps[x][y] = 0 return -1
반응형