본문 바로가기
코딩테스트 파이썬/파이썬 프로그래머스 2단계

게임 맵 최단거리

by 세용용용용 2023. 7. 26.

코딩테스트 연습 - 게임 맵 최단거리 | 프로그래머스 스쿨 (programmers.co.kr)

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

나의 코드

from collections import deque
def solution(maps):
    answer = 0
    move = [(0,1), (0,-1), (-1,0), (1,0)]
    queue = deque([(0,0)])
   
    #더이상 갈곳이 없을떄까지 반복
    while queue:
        x,y = queue.popleft()
        for i in move:
            xx = x+i[0]
            yy = y+i[1]

            #좌표 범위안에 있거나 아직 지나가지 않았을떄
            if 0<=xx<len(maps) and 0<=yy<len(maps[0]) and maps[xx][yy] == 1:
                maps[xx][yy] = maps[x][y]+1
                queue.append((xx,yy))
   
    #상대팀 진형 도착시
    if maps[-1][-1] != 1:
        answer = maps[-1][-1]
    #상대팀 진형 도착할수 없을시
    else:
        answer = -1
           
    return answer
solution([[1,0,1,1,1],
          [1,0,1,0,1],
          [1,0,1,1,1],
          [1,1,1,0,1],
          [0,0,0,0,1]])

 

'코딩테스트 파이썬 > 파이썬 프로그래머스 2단계' 카테고리의 다른 글

모음 사전  (0) 2023.07.28
스킬트리  (0) 2023.07.28
방문 길이  (0) 2023.07.23
땅따먹기  (0) 2023.07.22
주식가격  (0) 2023.07.21