스택 깊이 제한을 푸는 파이썬 setrecursionlimit 메서드를 알아봅시다.
이번 시간에는 파이썬의 setrecursionlimit에 대해 알아봅시다. 설명을 보시면, 딱히 어렵지는 않습니다. 인터프리터의 maximum stack depth를 늘려줍니다. 스택 트레이스 할 때 그 뎁스를 의미합니다. 이 뎁스는 재귀 호출과 관련이 깊습니다. 예를 들어, 20000번째 피보나치 수를 M으로 나눈 결과를 재귀함수로 구한다고 생각해 봅시다. 메모이 제이션까지 적용한다면 위와 같이 구할 수 있습니다. dp[x]가 -1이 아닐 때에는 그냥 dp[x]를 리턴해 주고, 아니라면 x-1번째 피보나치와 x-2번째 피보나치를 더한 다음에 M으로 나눈 나머지를 리턴합니다. 그런데, RecursionError가 뜹니다. 이는, depth가 너무 많이 깊어져서 smash가 나지 않게 하기 위해서입니다. ..
코딩/파이선
2021. 7. 19. 18:40
최근댓글