cuhcuh1   9달 전

런타임 에러는 어떤 경우에 나타나나요??

시간초과나 메모리 초과, 틀렸습니다 라고 뜨면 어디를 손볼지 대충 감이 잡히는데

런타임 에러가 뜨면 어디를 손봐야할지 감이 전혀 잡히지 않습니다. ㅠㅠ


이 문제는 그냥 육지를 찾으면 모든 방향을 큐에 넣고 큐가 비면 카운트해서 육지를 셌습니다.

예제나 임의로 만든 테스트케이스는 다 잘 나오는거 같은데 런타임 에러를 수정하려면 어디를 손봐야 하는지 알고싶습니다.

indioindio   9달 전

제가 겪은 런타임 에러 중 가장 흔한 원인은 배열의 인데스가 1 정도 비껴나가는 것이었습니다.

위의 코드에서도 후보 좌표중에 map의 범위 밖에 있는 것도 있을 텐데 그대로 사용해서 런타임에러가 나는 것 같네요.

cuhcuh1   9달 전

map은 최대 크기에서 양 옆으로 1씩, 총 2만큼 더 크게 줘서 경계부분에서도 잘 도는거 같습니다.

말씀대로 배열도 크게 해 봤는데 여전히 런타임 에러는 존재하더군요... ㅠㅠ

그리고 map을 0으로 다 초기화를 해봐도 런타임 에러에 걸리더군요.

일부러 queue배열도 크게 잡았는데 배열에 의한 런타임 에러는 아닌거 같은 생각이 듭니다. ㅠㅠ

ntopia   9달 전

다음 케이스로 넘어갈 때 큐의 head와 tail을 초기화하지 않고 있습니다

50x50 인 케이스가 계속 들어오면 어떻게 될까요...?? 를 생각해보시면..

indioindio   9달 전

그리고 map을 초기화해주거나, map의 범위를 체크안해주면 이전의 입력의 잔재가 남아서 답이 약간씩 달라지는 것 같네요.

cuhcuh1   9달 전

감사합니다!!!!

테스트 케이스마다 배열 초기화 하고 head와 tail도 초기화 하니까 맞았다고 나오네요.

정말 감사합니다!

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