반응형
파이썬으로 재귀를 사용해 문제를 풀 때 특히, DFS, BFS 문제를 풀 때 예시에서 답은 잘 나오는데, 정답 제출을 하면 런타임 에러를 접하게 되는 경우가 있습니다.
대부분이 파이썬의 재귀 최대 깊이의 기본 설정이 1,000회 이기 때문에 런타임 에러가 발생하는 경우입니다.
이런 문제를 해결하기 위해서는 아래와 같이 코드를 작성해주면 됩니다.
import sys
sys.setrecursionlimit(10 ** 6)
위와 같이 코드의 상단에 sys.setrecursionlimit(10**6)을 작성해주면 재귀의 최대 깊이가 10**6으로 바뀌게 됩니다.
( 필요에 따라 안의 숫자를 설정해주면 됩니다. )
유의해야할 점이 있습니다. PyPy에서는 sys.setrecursionlimit()으로 임의로 재귀의 최대 깊이를 설정할 수 없다는 점입니다.
파이썬으로 코딩 테스트를 준비한다면 sys 라이브러리는 sys.stdin.readline(), sys.setrecursionlimit() 등 유용하게 활용할 수 있으니 평소에 많이 익숙해질 수 있도록 해야할 것 같습니다.
읽어주셔서 감사합니다. ^^
반응형
'파이썬 Python' 카테고리의 다른 글
matplotlib.pyplot 흑백 이미지 출력이 정상적으로 안되는 경우 (plt.imshow(), cmap) (2) | 2021.12.23 |
---|---|
[파이썬] for - else 문 ,while - else 문 (반복문 - else) (0) | 2021.08.04 |
[파이썬] 클래스 상속, 메서드 오버라이딩 (예시를 통한 설명) (1) | 2021.06.22 |
[파이썬] 클래스와 객체, 인스턴스를 이해해보자 (예시를 통한 설명) (2) | 2021.06.22 |
[파이썬] 깊은 복사와 얕은 복사 개념, 예제 (0) | 2021.06.19 |