컴공생의 다이어리
[프로그래머스] 게임 맵 최단거리 - 파이썬(Python) 본문
[프로그래머스] 게임 맵 최단거리 - 파이썬(Python)
from collections import deque
def solution(maps):
len_x, len_y = len(maps), len(maps[0])
queue = deque([(0, 0)])
directions = [(1, 0), (-1, 0), (0, 1), (0, -1)] # 상하좌우
while queue: # bfs 수행
x, y = queue.popleft()
for i in range(4):
xx = x + directions[i][0]
yy = y + directions[i][1]
if 0 <= xx < len_x and 0 <= yy < len_y and maps[xx][yy] == 1: # 접근이 가능하고 방문하지 않았던 곳이라면
maps[xx][yy] = maps[x][y] + 1
queue.append((xx, yy))
return maps[-1][-1] if maps[-1][-1] > 1 else -1
https://programmers.co.kr/learn/courses/30/lessons/1844
728x90
반응형
'Development > Algorithm & Coding Test' 카테고리의 다른 글
[프로그래머스] 파일명 정렬 - 파이썬(Python) (0) | 2022.06.17 |
---|---|
[프로그래머스] 방금그곡 - 파이썬(Python) (0) | 2022.06.16 |
[프로그래머스] 캐시 - 파이썬(Python) (0) | 2022.06.14 |
[프로그래머스] 후보키 - 파이썬(Python) (0) | 2022.06.13 |
[프로그래머스] 실패율 - 파이썬(Python) (0) | 2022.06.12 |
Comments