코드는 다음과 같이 작성했으며, VS 2017 기준으로 정확히 답이 나왔습니다.

그러나 백준에서 돌리면 출력 초과가 뜹니다.

처음에는 알고리즘을 잘못짜서 정답과 다른 것이라 생각했지만

정답과 비교한 결과 출력 값은 완전히 동일했습니다.

그다음은 제가 모르는 출력방법에 의해 데이터가 더 늘어난것인가 생각했어서, .txt 파일로 추출해보았으나

정답 코드와 용량이 완전히 동일했습니다.

출력 초과는 정답과 용량이 2배 이상 차이나거나, 무한 루프를 도는 순간 뜨는 경고로 알고 있으나

해당 코드의 결과는 정답와 완전히 동일하고, 무한 루프를 돌지도 않습니다. 

어떻게 해결해야 할까요?

dyk777   4년 전

우선, 10번 줄에도 작성하셨듯이 10000은 범위 내에 포함됩니다.

그런데 list 선언을 0~9999까지 하셨습니다. 만약 10000을 참조해야하게 된다면 문제가 생기겠죠.

예제에서 볼 수 있듯이, 10000은 셀프 넘버가 아닙니다. 때문에 12번 줄에서는 접근하지 않겠네요.

그러나 14번 줄에서는 i=10000인 경우 접근하게 되고, 이때 저 존재하지 않아야 하는 메모리공간에는 무엇이 들어있을 지 알 수 없습니다.

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