rlaalswn129   2년 전

코드는 일반적인 bfs를 사용하는 코드이고, 해당 bfs를 함수형태로 쓰는것이 아닌 일반코드로 풀어서 사용했을때 통과한 코드입니다

unboundlocalerror는 지역변수와 전역변수의 할당관련해서 나오는 문제인데, 제가 찾은 bfs함수내에서 참조가 아닌 할당이 필요한곳은 tomatos배열 딱 하나뿐입니다. 그리고 해당 배열은 이미 global로 전역 선언을 주었습니다. 도대체 뭐가 문제일까요? 예제는 대다수 통과하고 90%가 넘어서 해당에러가 뜬것을 보아하니 뭔가 예외적인 상황이 있는것일 수도 있습니다. 하지만 나와있는 모든 예제와 반례에서는 해당 에러를 볼 수 없었습니다.

도대체 어느부분이 문제일까요? 

tjdwns5063   2년 전

오,, 혹시 해결하시면 원인을 알려주실수 있나요

bupjae   2년 전

다음과 같은 입력이 들어왔을 때 런타임 에러가 발생합니다.

익은 토마토가 하나도 없기 때문에, 안 익은 토마토는 영원히 익을 수 없습니다. 

   

이 데이터가 입력 되면 16번째 줄은 전혀 실행이 되지 않고

z, y, x 에 아무것도 할당되지 않은 상태에서 24번째 줄에서 읽으려고 하기 때문에 런타임 에러가 발생합니다.

rlaalswn129   2년 전

감사합니다. 보통 저런 문제로는 인덱스에러가 나오다보니 함수안에서 저런일이 있으면 언바운드로컬에러가 나오는줄은 몰랐는데 덕분에 알게되었습니다! 

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