1.구글에 검색해 보니 1000번 정도로 제한되어 있네요
2.재귀함수는 stack방식으로 쌓이는데 stack방식으로 1000번을 쌓는건 굉장히 연산횟수가 많아지기 때문입니다. 실제로 함수로 500번정도만 쌓아도 작업관리자에서 연산횟수가 크게
늘어남을 볼 수 있습니다.
3.네 프로그램이 강제 종료됩니다
2636번 - 치즈
1.구글에 검색해 보니 1000번 정도로 제한되어 있네요
2.재귀함수는 stack방식으로 쌓이는데 stack방식으로 1000번을 쌓는건 굉장히 연산횟수가 많아지기 때문입니다. 실제로 함수로 500번정도만 쌓아도 작업관리자에서 연산횟수가 크게
늘어남을 볼 수 있습니다.
3.네 프로그램이 강제 종료됩니다
댓글을 작성하려면 로그인해야 합니다.
shjoo840 6년 전
이 문제는 치즈 내부의 빈 공간과 치즈 외부를 구분해야 풀 수 있습니다.
치즈 외부를 flood fill (외부의 한 점에서 시작. 상하좌우로 이동하며 빈공간을 표시하는 방법)으로 체크하려고 했는데 런타임 에러가 뜨더군요.
이 문제의 가로 세로 최대 사이즈가 100이라서 치즈가 거의 없어지면 재귀함수 콜을 10000번정도 해야 하고 이 때문에 에러가 나온 것 같습니다.
재귀함수 사용할 때 마다 런타임 에러가 자주 나와서 그런데 아래 3개 질문에 답변해주실 수 있나요?
1. 파이썬에서 재귀함수 콜이 가능한 횟수
2. 재귀함수 콜 가능 횟수가 제한되어 있는 이유
3. 다른 언어도 재귀함수 콜 가능 횟수가 정해져있는지
감사합니다!
소스코드는 질문과 상관은 없지만 첨부합니다.