여니의 취준 준비/코딩테스트 (Python)

[9507] Generations of Tribbles in python

여니's 2022. 1. 26. 22:36

https://www.acmicpc.net/problem/9507

 

9507번: Generations of Tribbles

꿍은 군대에서 진짜 할짓이 없다. 그래서 꿍만의 피보나치를 만들어보려고 한다. 기존의 피보나치는 너무 단순해서 꿍은 좀더 복잡한 피보나치를 만들어보고자 한다. 그래서 다음과 같은 피보

www.acmicpc.net


 

처음엔 함수를 만들어서 하려고 했는데

굳이 그렇게 할 필요 없을 것 같아서

(사실 재귀함수보다 반복문이 더 편함..)

반복문을 사용하여

다이나믹 프로그래밍 기법으로

문제를 해결했다!

 

t = int(input())
array = [0 for _ in range(68)]
array[0] = 1
array[1] = 1
array[2] = 2
array[3] = 4

for _ in range(t):
    temp = int(input())
    for n in range(4, temp + 1):
        array[n] = array[n - 1] + array[n - 2] + array[n - 3] + array[n - 4]
    print(array[temp])

t=int(input())
array=[1,1,2,4]
for i in range(4,68):
    array.append(array[i-1]+array[i-2]+array[i-3]+array[i-4])
for i in range(t):
    n=int(input())
    print(array[n])