https://school.programmers.co.kr/learn/courses/30/lessons/1844
문제
백준의 문제와 마찬가지로 단순하게 종점에 도달할 수 있는지와 소요되는 시간을 측정해주는 문제이기에 문제없이 풀어주면된다.
from collections import deque
def solution(maps):
answer = 0
dxys = ((1,0),(0,1),(-1,0),(0,-1))
queue = deque([[0,0]])
n = len(maps)
m = len(maps[0])
visited = [[-1]*m for _ in range(n)]
visited[0][0] = 0
while queue:
cx, cy = queue.popleft()
if [cx, cy] == [m-1, n-1]:
return visited[n-1][m-1]+1
for dx, dy in dxys:
nx = cx + dx
ny = cy + dy
if 0 <= nx < m and 0 <= ny < n and visited[ny][nx] == -1:
if maps[ny][nx] == 1:
queue.append([nx, ny])
visited[ny][nx] = visited[cy][cx] + 1
return -1
'프로그래머스' 카테고리의 다른 글
[프로그래머스][SQL] 성분으로 구분한 아이스크림 총 주문량 (0) | 2024.06.08 |
---|---|
[프로스래머스][Python] 순위 - 코팩 (0) | 2024.01.15 |
[프로그래머스][Python] 단어 변환 - 코팩 (0) | 2024.01.11 |
[프로그래머스][Python] 네트워크 - 코팩 (0) | 2024.01.11 |
[프로그래머스][Python] 타겟 넘버 - 코팩 (1) | 2024.01.11 |