tae77777   2년 전

주석처리된 부분으로 풀어서 정답을 맞추긴 했습니다. 

다른 방법으로 풀어보려고 밑에 다른 코드로 고칠려고 했는데 왜 런타임에러(index Error)가 뜨는지 궁금합니다.

bsyzch   2년 전

17~20 번째 줄에서 인덱스 에러가 발생하네요

예를들어 dfs에 0, 0이 넘어왔을때 13번째 줄에서 0,0 은 조건에 부합하지 않는 범위내에 있으니까 통과하고 

15번째 줄 if 문으로 넘어가겠죠?

이때 17, 20번째 줄을 보면 x, y 인덱스 -1에 접근하니까 인덱스에러 발생하네요

주석처리한 부분은 상하좌우를 따진 nx, ny의 범위를 검사하기 때문에 상관없지만

새로 짜신부분은 범위 검사를 한후에 상하좌우를 따지기 때문에 의도치 않은 인덱스에 접근하게 되죠

tae77777   2년 전

감사합니다.. 다시한번 생각해보게 되었어요

tae77777   2년 전

예시를 든것처럼 dfs에 0,0이 넘어왔을때 15번째줄 if문으로 넘어가면 dfs(-1,0)이 호출되면 dfs함수에 첫번째 if문에 걸려서 return False를 하는것이 아닌가요,,,?? 

if문까지 가기 전에 바로 인덱스 에러가 발생하게 되는건가요??

어떻게 되는건지 궁금합니다..

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