▶ 코드
# N을 만드는 방법 = [1개, 2개, 4개, 7개, 13개...]
# 7은 4+2+1
# 13은 7+4+2
T = int(input())
memo = [0]*11
def onetwothree(N): # N = 1~10
if N == 1:
return 1
if N == 2:
return 2
if N == 3:
return 4
if memo[N] != 0:
return memo[N]
else:
memo[N] = onetwothree(N-1)+onetwothree(N-2)+onetwothree(N-3)
return memo[N]
for _ in range(T):
N = int(input())
print( onetwothree(N) )
'■코테 중요개념 > 다이나믹 프로그래밍(DP)' 카테고리의 다른 글
[백준 2193] 이친수 (0) | 2020.04.30 |
---|---|
[백준 1149] RGB거리 (0) | 2020.04.30 |
[백준 11726] 2xn 타일링 (0) | 2020.04.30 |
[백준 1463] 1로 만들기 (0) | 2020.04.26 |
[백준 9461] 파도반 수열 (0) | 2020.04.26 |
[백준 1932] 정수 삼각형 (0) | 2020.04.26 |