[BOJ][Python][실3][1003] 피보나치 함수

문제 링크

문제링크

첫 번째 풀이

정답코드

dp[i][ㅓ] : foo(i)호출시 foo(j)가 호출되는 횟수

  • dp[i][0] = dp[i-1][0] + dp[i-2][0]
  • dp[i][1] = dp[i-1][1] + dp[i-2][1]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import sys
from math import pi, sqrt
from collections import deque, Counter
from operator import itemgetter

# sys.stdin = open('input.txt', 'r')
tc = int(sys.stdin.readline())
for _ in range(tc):
    dp = [[0] * 2 for i in range(41)]
    dp[0][0] = 1
    dp[1][1] = 1
    n = int(sys.stdin.readline())
    if n >= 2:
        for i in range(2, n + 1):
            dp[i][0] = dp[i - 1][0] + dp[i - 2][0]
            dp[i][1] = dp[i - 1][1] + dp[i - 2][1]
    print(dp[n][0], dp[n][1])

Success Notice: 수고하셨습니다. :+1:

Leave a comment