728x90
https://programmers.co.kr/learn/courses/30/lessons/12945
코딩테스트 연습 - 피보나치 수
피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 수 입니다. 예를들어 F(2) = F(0) + F(1) = 0 + 1 = 1 F(3) = F(1) + F(2) = 1 + 1 = 2 F(4) = F(2) + F(3) = 1 + 2 = 3 F(5) = F(3) + F(4) =
programmers.co.kr

전형적인 dp문제인데
이게 파이썬 재귀함수 호출 제한이 1000번이라는거 처음알았다
sys.setrecursionlimit((100001))
이게 재귀함수 호출 한도 늘리는 코드인데 이거 안하면 런타임애러남 ㅋㅋ
반복문으로 풀라고 준 문제인듯한데 굳이 반복문으로 돌리고싶지않아서 그냥 풀었다
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
import sys
sys.setrecursionlimit((100001))
dp = [-1] * 100001
dp[0] = 0
dp[1] = 1
def fibo(x):
if dp[x] != -1:
return dp[x]
dp[x] = (fibo(x - 1) + fibo(x - 2)) % 1234567
return dp[x]
def solution(n):
answer = 0
answer = fibo(n)
print(answer)
return answer
solution(100)
|
cs |
728x90
'PS > 프로그래머스' 카테고리의 다른 글
[프로그래머스 LV 2 ] 최댓값과 최솟값 파이썬/python (0) | 2021.06.07 |
---|---|
[프로그래머스 LV 2 ] 최솟값 만들기 파이썬/python (0) | 2021.06.07 |
[프로그래머스 LV 2 ] 행렬의 곱셈 파이썬/python (0) | 2021.06.07 |
[프로그래머스 LV 2] N개의 최소공배수 파이썬/python (0) | 2021.06.07 |
[프로그래머스 LV 2] 영어 끝말잇기 파이썬/python (0) | 2021.06.05 |