본문 바로가기
짜잘IT

⚠️파이썬 런타임 에러/RecursionError⚠️

by 정람지 2023. 3. 4.

RecursionError = 재귀와 관련된 에러

Python이 정한 최대 재귀 깊이보다 재귀의 깊이가 더 깊어질 때 발생

 

Python이 정한 최대 재귀 깊이는 sys.getrecursionlimit()을 이용해 확인 가능

백준에서는 1,000으로 제한

 

 

에러 해결 방법 1

재귀 함수를 사용하지 않기 (반복문으로 변경)

DFS를 이용했다면 BFS로 ! (DFS는 재귀 사용함) (오 이거 왜 이건 되나 했는데!!)

 

에러 해결 방법 2

sys.setrecursionlimit() 사용

Python이 정한 최대 재귀 깊이 변경 가능.

 
만약 재귀의 깊이가 채점 서버가 감당할 수 없는 정도로 깊어지면 Segmentation fault/런타임 에러-SegFault  발생
 
만약 변경한 최대 깊이 제한이 너무 작을 때도 RecursionError가 발생
RecursionError: cannot set the recursion limit to 1 at the recursion depth 1: the limit is too low
 

 
여기 이 무지막지한 문제에서 시작되었다
학교 튜터링 옾챗방에 질문해서 왠지 알았다
 
드디어 런타임에러가 아닌 시간초과가 나는군
..
눙물..

 

후후 이것이 무시무시한 사차원 배열이다!

그래도.. 바로 시간초과 나는 거 열심히 뜯어고쳐서 60퍼센트까지는 가는 시간초과를 얻었다..

교수님이 4중루프 없애라는데..이거 열심히 생각해서 60퍼센트까지 왔는데 어케버려요.. 아..

 

'짜잘IT' 카테고리의 다른 글

🛌모닝기상코딩🌇  (1) 2023.07.02
Figma 써보기  (0) 2023.03.26
IT 정보  (0) 2023.02.24
🤖깃허브 코파일럿🤖 사용 후 보고서 작성  (0) 2023.02.20
🌈NFT🦄  (0) 2023.02.20