RUBY

[프로그래머스] 게임 맵 최단거리 본문

PS/Programmers

[프로그래머스] 게임 맵 최단거리

RUBY_루비 2023. 4. 4. 23:59

출처:: https://school.programmers.co.kr/learn/courses/30/lessons/1844?language=python3

분류:: BFS

 

1. 문제 이해 및 해결과정

 

2. 풀이방법

1) python BFS

from collections import deque
def solution(maps):
    
    dh=[-1,0,1,0] #시계방향
    dw=[0,1,0,-1]

    h=len(maps)
    w=len(maps[0])
    
    Q=deque()
    Q.append((0,0))
    
    while Q:
        cur=Q.popleft()
        for i in range(4):
            nh=cur[0]+dh[i]
            nw=cur[1]+dw[i]
            
            if 0<=nh<h and 0<=nw<w and maps[nh][nw]==1:
                maps[nh][nw]=maps[cur[0]][cur[1]]+1
                Q.append((nh,nw))
                
    if maps[-1][-1]==1:
        answer=-1
    else:
        answer=maps[-1][-1]
    
    return answer

 

3. 오답원인

 

4. 알게된 점

 

Comments