35번 줄에 오류가 있네요. 저 부분만 어떻게 고쳐 보세요!
2178번 - 미로 탐색
@eatingnut 답변 감사합니다!
해당 부분 chk[y][x] = True => chk[next_y][next_x]로 바꾸니 맞췄습니다.
답변 덕분에 왜 시간 초과가 나게 되었는지 이유를 알 수 있었습니다.
그리고 추가로 궁금한 점이 생겼는데요
제가 질문글에 코드를 여러번 수정했다고 말씀드렸습니다만 체크리스트를 True로 바꾸는 코드 즉, chk[y][k] = True를 30번 줄에 쓰느냐, chk[next_y][next_x] = True를35 번에 쓰느냐에 따라 전자는 시간초과, 후자는 정답처리가 되었습니다.
제가 생각하기엔 두가지 경우 모두 다 논리적으로는 문제가 없을 뿐더러 실행시간도 왜 차이가 나는지 모르겠습니다.
두 경우의 차이점이라면 조건에 부합하는 좌표를 deque에 append시킨 후 그 좌표를 지나온 좌표로 간주하거나, append하기 전에 지나온 좌표로 간주한다는 것인데
단순히 코드 순서차이만으로 성능이 왜 차이가 나는 걸까요??
혹시 몰라 정답코드와 오답코드 게시하겠습니다.
답변부탁드립니다 ㅠㅠ
댓글을 작성하려면 로그인해야 합니다.
hyong11 1년 전
일단 문제에서 주어진 테스트 케이스는 전부 맞습니다.
input()도 readline으로 바꿔보았고 처음에 miro 리스트 받을 때 int로 일일이 수정했던 코드도 그냥 str로 받아 바로 적용도 해봤는데 여전히 시간초과가 납니다..
pypy3로도 해봤지만 이경우는 메모리 초과가 나오더라구요 ㅠ
몇시간동안 계속 붙잡고있으니 정신 나갈 거 같습니다,,
도와주시면 감사하겠습니다!