4673번 - 셀프 넘버
맞긴 했는데, main 함수 내부의 numbers 배열로 돌리면
'다 출력한 후' Runtime에러가 발생합니다.
스택 사이즈에 상관 없이 작은 값이라 생각했는데 왜 그럴까요?
답변 주시면 감사하겠습니다.
지역 변수로 크기가 10000인 배열은 너무 크다고 생각합니다.
numbers[self-1]에서 배열 범위 초과가 발생할 수 있을것 같네요.
범위 체크를 더하기 전에 해주는게 문제라고 봅니다.
@baekjoon 님 답변 감사드립니다.
그런데 왜 선언되는 순간이 아니라 main 함수가 끝날 때 Runtime 에러가 발생하는 건가요?
@yukariko 님 답변 감사드립니다.
저도 처음에 그렇게 생각했지만... 출력하는 부분까지 문제 없이 진행되었습니다.
일단 9999만 보더라도
Self값이 10000을 넘어가기때문에
이부분에 오버플로우가 발생하는건 확실합니다.
마지막에 에러나는것은
main쪽 스택과관련된부분의 값이 변경됐을 수도 있구요
그렇군요 답변 감사드립니다 :)
댓글을 작성하려면 로그인해야 합니다.
leechhe 8년 전
맞긴 했는데, main 함수 내부의 numbers 배열로 돌리면
'다 출력한 후' Runtime에러가 발생합니다.
스택 사이즈에 상관 없이 작은 값이라 생각했는데 왜 그럴까요?
답변 주시면 감사하겠습니다.