반응형
from collections import deque
def bfs(x, y, point, maps):
dir = [[1,0],[0,1],[-1,0],[0,-1]]
q = deque()
q.append([x,y,point])
while q:
x, y, point = q.popleft()
maps[x][y] = 0
for dx, dy, in dir:
nx, ny = x + dx, y + dy
if nx == len(maps) - 1 and ny == len(maps[0])-1:
return point +1
elif 0 <= nx < len(maps) and 0 <= ny < len(maps[0]) and maps[nx][ny] == 1 :
maps[nx][ny] = 0
q.append([nx,ny,point+1])
return -1
def solution(maps):
return bfs(0,0,1,maps)
반응형
'Python' 카테고리의 다른 글
[Python] 정규표현식 이용하여 태그 사이의 value 값 가져오기 (0) | 2020.09.23 |
---|---|
[Python] 파이썬 정규 표현식을 이용하여 문자 split 처리하기 (0) | 2020.09.20 |
[Python] 2차원 배열 초기화 하기 (0) | 2020.09.19 |
[Python] itertools 이용하여 순열(permutations), 조합(combinations ) 리스트 만들기 (0) | 2020.09.09 |
[알고리즘 기본 독학] 4/100, 프로그래머스 완주하지 못한 선수(42756) - 해시 (0) | 2020.04.15 |