https://www.acmicpc.net/problem/9095
dp[1] = 1가지
dp[2] = 2 , 1+1 = 2가지
dp[3] = 3, 2+1, 1+2, 1+1+1 = 4가지
dp[4] = 3+1, 2+1+1, 1+2+1, 2+2, 1+3, 1+1+2, 1+1+1+1 = 7가지 (1+2+4)
dp[5] = 13가지 (2+4+7)
t=int(input())
dp=[0 for _ in range(11)]
dp[1]=1
dp[2]=2
dp[3]=4
for _ in range(t):
n=int(input())
if n < 4:
print(dp[n])
else:
for i in range(4,n+1):
dp[i]=dp[i-1]+dp[i-2]+dp[i-3]
print(dp[i])
'여니의 취준 준비 > 코딩테스트 (Python)' 카테고리의 다른 글
[Python] 입출력 관련 모음집 (0) | 2022.03.25 |
---|---|
[2138] 전구의 스위치 in python (0) | 2022.03.14 |
[1463] 1로 만들기 in python (0) | 2022.03.10 |
[17626] Four Squares in python (0) | 2022.03.10 |
[1735] 분수합 in python (0) | 2022.03.10 |