나의 컨닝.. 역시나 못풀었다.. 다음문제는 안보고 풀어야지
from collections import deque
#입력을 일단 받아야해요 n이랑m이랑 받을거 잖아?
n, m = map(int, input().split())
#그다음 맵 정보를 받아야 할거 아니야
graph = []
for i in range(n):
graph.append(list(map(int, input())))
#조이스틱 구현(상, 하, 좌, 우)
dx = [-1, 1, 0, 0]
dy = [0, 0, -1, 1]
def bfs(x, y):
queue = deque()
queue.append((x, y))
while queue:
x, y = queue.popleft()
# 현재 위치에서 4가지 방향으로 위치 확인
for i in range(4):
nx = x + dx[i]
ny = y + dy[i]
# 미로찾기 공간을 벗어나면 무시
if nx < 0 or nx >= n or ny < 0 or ny >= m:
continue
# 벽인 경우 무시
if graph[nx][ny] == 0:
continue
# 해당 노드를 처음 방문하는 경우에만 최단 거리 카운팅
if graph[nx][ny] == 1:
graph[nx][ny] = graph[x][y] + 1
queue.append((nx, ny))
# 가장 오른쪽 아래까지의 최단 거리 리턴
return graph[n - 1][m - 1]
print(bfs(0, 0))
튜플은 리스트와 거의 비슷하며 다른점은
t1 = ()
t2 = (1,)
t3 = (1, 2 ,3)
t4 = 1, 2, 3
t5 = ('a', 'b', ('ab', 'cd'))