Notice
Recent Posts
Recent Comments
Link
Love Every Moment
〔프로그래머스/파이썬〕게임 맵 최단거리(BFS) 본문
반응형
출처
풀이
from collections import deque
def solution(maps):
answer = 0
n, m = len(maps), len(maps[0])
queue = deque()
queue.append((0, 0))
dx = [-1, 1, 0, 0]
dy = [0, 0, -1, 1]
while queue:
x, y = queue.popleft()
for i in range(4):
nx = x + dx[i]
ny = y + dy[i]
if nx < 0 or nx >= n or ny < 0 or ny >= m:
continue
if maps[nx][ny] == 1:
maps[nx][ny] = maps[x][y] + 1
queue.append((nx, ny))
answer = maps[n-1][m-1]
if answer == 1:
answer = -1
return answer
- 미로 문제로 전형적인 BFS 활용 문제
- collections 모듈로부터 deque 을 가져와서 사용하면 편하다
반응형
'PROGRAMMING::LANGUAGE > Python' 카테고리의 다른 글
〔프로그래머스/파이썬〕네트워크(DFS) (0) | 2023.07.08 |
---|---|
〔프로그래머스/파이썬〕의상(Hash Table) (0) | 2023.07.08 |
〔프로그래머스/파이썬〕합승 택시 요금(Floyd-Warshall) (0) | 2023.07.07 |
〔프로그래머스/파이썬〕길이에 따른 연산 (0) | 2023.07.06 |
〔프로그래머스/파이썬〕더 크게 합치기 (0) | 2023.07.03 |
Comments