[python] 최대 재귀한도 깊이 에러(RecursionError: maximum recursion depth exceeded in comparison)

csexpert·2021년 8월 5일
4

백준에서 문제를 풀고 제출을 했는데..

런타임 에러가 났다. 왜 그런지 몰라서, 범위의 끝에 있는 숫자를 다 넣어봤다. (100까지였는데, 2차원 배열이라 100개의 숫자를 100줄 넣었다..)
그랬더니

RecursionError: maximum recursion depth exceeded in comparison

라고 오류를 내뱉어줬다. 다행?이었다. 쉽게 오류를 찾을 수 있었으니..
그래서 검색해본 결과, 몰랐던 사실을 알게 되었다. 파이썬에서는 재귀의 한도가 시스템의 안정을 위해 정해져있다는 것이다. 하지만, 나는 이미 이 문제를 dfs 재귀로 풀었고, 해결해야 했다.
그 해결 방법은 생각보다 아주 간단했다. 그냥 한도를 늘려주면 되는 것이다.
그 방법은 아래와 같다.

import sys
sys.setrecursionlimit(10**7)

이렇게 해주면 된다. sys 모듈을 불러와서 재귀의 한도를 10**7까지 해주는 것이다.
그 결과는 바로 보여졌다.

내가 푼 것이 맞았다는 것을 증명할 수 있었다.

profile
공대생입니다.

0개의 댓글