https://school.programmers.co.kr/learn/courses/30/lessons/1844
내 풀이
from collections import deque
def solution(maps):
dy = [-1,1,0,0]
dx = [0,0,-1,1]
N = len(maps)
M = len(maps[0])
queue=deque([(0,0)])
while queue:
x,y = queue.popleft()
if (x,y) ==(N-1,M-1):
return maps[x][y]
for i in range(4):
nx = x + dx[i]
ny = y + dy[i]
if 0<=nx<N and 0<=ny<M:
if maps[nx][ny]==1:
maps[nx][ny] = maps[x][y]+1
queue.append((nx,ny))
return -1
https://playedenough.tistory.com/83?category=1050629
이거랑 완전 동일하다.
다른사람의 풀이
'취준 > 프로그래머스' 카테고리의 다른 글
배달 - 파이썬 (0) | 2022.07.27 |
---|---|
괄호 회전하기 - 파이썬 (0) | 2022.07.25 |
조이스틱 - 파이썬 (0) | 2022.07.03 |
소수 찾기 - 파이썬 (0) | 2022.07.02 |
가장 큰 수 - 파이썬 (0) | 2022.07.01 |