
* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.
* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.
안녕하세요. 3주차 미로탈출 과제 코드 작성 중 막히는 부분이 생겨 질문 드립니다.
행이 N개인 미로 크기를 정의하고자 N = len(miro) 함수를 썼는데
N이 튜플이라는? 에러가 발생하였습니다.
어디서 문제가 생긴건지 찾아봐도 잘 모르겠어서 도움 요청 드리고자 합니다.
왜 이런 결과가 나온건가요?
코드는 저 혼자 먼저 작성해 본 건데 답안과 많이 다르네요 ^^;
코드의 다른 부분은 검증을 아직 못해서 다른 오류가 있을 수 있으니 감안하고 봐주시면 감사하겠습니다.


작성한 코드 및 에러 메세지
from collections import deque
def bfs(miro):
N = len(miro),
M = len(miro[0])
visited = []
deq = deque([(0,0)])
dist = 0
dr = [-1, 1, 0, 0]
dc = [0, 0, -1, 1]
while deq:
r,c = deq.popleft()
visited.append((r,c))
dist += 1
if r == N-1 and c == M-1:
return dist
for i in range(4):
nr = r + dr[i]
nc = c + dc[i]
if nr < 0 or nr >= N or nc < 0 or nc >= M or miro[nr][nc] != '1' or visited[nr][nc]:
continue
deq.appned((nr,nc))
return -1
miro = [
"11101",
"10101",
"10101",
"11111"
]
# 문자열을 리스트로 변환하여 입력
miro = [list(row) for row in miro]
# 함수 실행 및 결과 출력
print(bfs(miro))
TypeError Traceback (most recent call last)
<ipython-input-3-33ab060e473c> in <cell line: 47>()
45
46 # 함수 실행 및 결과 출력
---> 47 print(bfs(miro))
<ipython-input-3-33ab060e473c> in bfs(miro)
18 dist += 1
19
---> 20 if r == N-1 and c == M-1:
21 return dist
22
TypeError: unsupported operand type(s) for -: 'tuple' and 'int'
오류 발생 시, 작성한 코드 전체와 에러 메시지를 첨부해 주세요.
Tip 1) </> 아이콘을 눌러 코드박스를 만들어 보세요.
Tip 2) Ctrl+A(맥의 경우 Command+A) 단축키로 코드를 한 번에 선택할 수 있어요!
