반응형
from collections import deque
def solution(maps):
n,m=len(maps),len(maps[0])
dx,dy=[1,0,-1,0],[0,1,0,-1]
visited=[[0 for _ in range(m)] for _ in range(n)]
visited[0][0]=1
queue=deque([(0,0)])
while queue:
x,y=queue.popleft()
if x==n-1 and y==m-1:
return visited[x][y]
for i in range(4):
nx,ny=x+dx[i], y+dy[i]
if 0<=nx<n and 0 <= ny < m and visited[nx][ny] == 0 and maps[x][y] == 1:
visited[nx][ny]=visited[x][y]+1
queue.append((nx,ny))
return -1
<내 풀이>
bfs로 풀이한 코드.
반응형
'알고리즘 > 프로그래머스 level 1,2' 카테고리의 다른 글
[파이썬🐍] 프로그래머스 : 소수 찾기 (0) | 2021.05.15 |
---|---|
[파이썬🐍] 프로그래머스 : 영어 끝말잇기 (0) | 2021.05.14 |
[파이썬🐍] 프로그래머스 : 큰 수 만들기 (0) | 2021.05.12 |
[파이썬🐍] 프로그래머스 : 짝지어 제거하기 (0) | 2021.05.11 |
[파이썬🐍] 프로그래머스 : 카펫 (0) | 2021.05.10 |
댓글