문제 링크: https://www.acmicpc.net/problem/1261
백준 알고리즘 기초 2/2 610에서 5번째 - 1261번 알고스팟를 풀어보았다.
C++
Python
from collections import deque
def bfs():
dx=[-1,1,0,0]
dy=[0,0,-1,1]
q=deque()
q.append((0,0))
visited[0][0]=0
while q:
x,y=q.popleft()
for i in range(4):
nx=x+dx[i]
ny=y+dy[i]
if 0<=nx<n and 0<=ny<m:
if visited[nx][ny]==-1:
if inp[nx][ny]==0:
visited[nx][ny]=visited[x][y]
q.appendleft((nx,ny))
else:
visited[nx][ny]=visited[x][y]+1
q.append((nx,ny))
m,n=map(int,input().split())
inp=[list(map(int,input())) for i in range(n)]
visited=[[-1]*m for i in range(n)]
bfs()
print(visited[n-1][m-1])
Java
'코테용 문제풀이 > 백준' 카테고리의 다른 글
트리의 높이와 너비 풀이 (0) | 2023.02.09 |
---|---|
트리 순회 풀이 (0) | 2023.02.09 |
숨바꼭질 3 풀이 (0) | 2023.02.09 |
이모티콘 풀이 (0) | 2023.02.09 |
숨바꼭질 4 풀이 (0) | 2023.02.08 |