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])
'여니의 취준 준비 > 코딩테스트 (Python)' 카테고리의 다른 글
[1722] 순열의 순서 in python (0) | 2022.01.29 |
---|---|
[1890] 점프 in python (0) | 2022.01.26 |
[3079] 입국 심사 in python (0) | 2022.01.23 |
[14494] 다이나믹이 뭐예요 in python (0) | 2022.01.23 |
[17086] 아기상어 2 in python (0) | 2022.01.19 |