https://www.acmicpc.net/problem/9507
처음엔 함수를 만들어서 하려고 했는데
굳이 그렇게 할 필요 없을 것 같아서
(사실 재귀함수보다 반복문이 더 편함..)
반복문을 사용하여
다이나믹 프로그래밍 기법으로
문제를 해결했다!
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 |