codren   2년 전

vscode 에서는 모든 경우 답이 잘 나오는데 런타임에러가 발생합니다. 혹시 어느 부분에서 런타임 에러가 발생하는 지 알 수 있을까요??

djm03178   2년 전

런타임 에러는 항상 옆에 괄호 안에 있는 구체적인 이유가 중요합니다. IndexError라는 것은 대표적으로 리스트의 인덱스를 벗어나는 위치에 접근할 때 발생하는 것이고, 이것은 에러의 발생 위치를 찾는 데에 엄청나게 도움이 되는 정보입니다.

31~32번째 줄을 보시면 i와 j 모두 n까지 돌리고 있는데, 문제에서는 세로는 n이지만 가로는 m이므로 j는 m까지만 돌아야 한다는 것을 알 수 있습니다. 따라서 n>m인 케이스에서는 board[i][j]에 접근할 때 해당 에러가 발생할 수 있습니다. 예제 4번에서 안 걸리는 이유는 항상 그런 위치에 접근하기 이전에 먼저 사이클을 찾아내서 종료시키기 때문입니다.

codren   2년 전

부끄럽네요... 이런 사소한 실수로 질문을 올렸다는게 ㅠㅠ.. 

앞으로 좀 더 살펴보도록 하겠습니다. 귀중한 시간 내주셔서 감사합니다 :) 

댓글을 작성하려면 로그인해야 합니다.