지나가던 개발자
[Python] 백준 4150번(피보나치 수) 문제 풀이 본문
import sys
sys.setrecursionlimit(10**6)
def nth_fibonacci(n, lookup):
if n <= 1:
return n
if n not in lookup:
lookup[n] = nth_fibonacci(n - 1, lookup) + nth_fibonacci(n - 2, lookup)
return lookup[n]
print(nth_fibonacci(int(input()), {}))
내가 예전에 깃허브에 useful_defs라는 것을 만들어 놓은 적이 있다. PS하기 편하게 자주 사용되는 함수들을 넣어 놓은 건데, 이번에 그 중 nth_fibonacci라는 함수를 사용했다.
https://github.com/kwonyonghyeon/useful_defs/blob/main/Python/nth_fibonacii().py
1번줄과 2번줄은 무슨 뜻이냐면 Python이 정한 최대 재귀 깊이를 바꾸라는 뜻이다. 처음에는 1번줄과 2번줄 없이 제출했는데, 그러니까 RecursionError라는 정말 듣도 보도도 못한 이상한 에러가 떠서 검색해보니 저렇게 재귀 깊이를 바꾸면 된다길래 그렇게 했더니 됐다.
https://help.acmicpc.net/judge/rte/RecursionError
'PS > Python' 카테고리의 다른 글
[Python] 백준 9842번(Prime) 문제 풀이 (0) | 2022.09.10 |
---|---|
[Python] 백준 1252번(이진수 덧셈) 문제 풀이 (0) | 2022.09.09 |
[Python] 백준 2028번(자기복제수) 문제 풀이 (0) | 2022.09.03 |
[Python] 백준 2535번(아시아 정보올림피아드) 문제 풀이 (0) | 2022.08.31 |
[Python] 백준 10448번(유레카 이론) 문제 풀이 (0) | 2022.08.30 |
Comments