반응형
꿍은 군대에서 진짜 할짓이 없다. 그래서 꿍만의 피보나치를 만들어보려고 한다. 기존의 피보나치는 너무 단순해서 꿍은 좀더 복잡한 피보나치를 만들어보고자 한다. 그래서 다음과 같은 피보나치를 만들었다. 꿍만의 피보나치 함수가 koong(n)이라고 할 때,
이다.
여러분도 꿍 피보나치를 구해보아라.
입력
입력의 첫 번째 줄을 테스트 케이스의 개수 t (0 < t < 69)가 주어진다. 다음 t줄에는 몇 번째 피보나치를 구해야하는지를 나타내는 n(0 ≤ n ≤ 67)이 주어진다.
출력
각 테스트 케이스에 대해, 각 줄에 꿍 피보나치값을 출력하라.
예제 입력8
0 1 2 3 4 5 30 67 |
예제 출력1
1 2 4 8 15 201061985 7057305768232953720 |
풀이
문제에 점화식이 주어져 있다.
피보나치 DP 문제와 크게 다를것이 없다.
입력에서 요구하는 n번째의 꿍 피보나치 수를 구하지 않았다면, 점화식을 바탕으로 DP를 통해 갱신하고 출력한다.
import sys
input = sys.stdin.readline
dp = [1,1,2,4]
for _ in range(int(input())):
n = int(input())
for i in range(len(dp)-1,n):
dp.append(dp[i]+dp[i-1]+dp[i-2]+dp[i-3])
print(dp[n])
반응형
'알고리즘 연습 > 동적 계획법' 카테고리의 다른 글
[🥈4 / 백준 10826 / 파이썬] 피보나치 수 4 (0) | 2022.04.04 |
---|---|
[🥉1 / 백준 13301 / 파이썬] 타일 장식물 (0) | 2022.02.19 |
[🥈2 / 백준 15990 / 파이썬] 1, 2, 3 더하기 5 (0) | 2022.01.02 |
[🥈2 / 백준 11722 / 파이썬] 가장 긴 감소하는 부분 수열 (0) | 2021.12.20 |
[🥇5 / 백준 2631 / 파이썬] 줄세우기 (0) | 2021.12.06 |