▶ 코드
T = int(input())
memo = [0] * 101
def pdb(N):
if (N == 1):
return 1
if (N == 2):
return 1
if (N == 3):
return 1
if (memo[N] != 0):
return memo[N]
else:
memo[N] = pdb(N-2) + pdb(N-3)
return memo[N]
for _ in range(T):
N = int(input())
print(pdb(N))
''' 시간초과
T = int(input())
def pdb(N):
if (N == 1):
return 1
if (N == 2):
return 1
if (N == 3):
return 1
return pdb(N-2)+pdb(N-3)
for _ in range(T):
N = int(input())
print(pdb(N))
'''
'■코테 중요개념 > 다이나믹 프로그래밍(DP)' 카테고리의 다른 글
[백준 2193] 이친수 (0) | 2020.04.30 |
---|---|
[백준 1149] RGB거리 (0) | 2020.04.30 |
[백준 11726] 2xn 타일링 (0) | 2020.04.30 |
[백준 9095] 1, 2, 3 더하기 (0) | 2020.04.26 |
[백준 1463] 1로 만들기 (0) | 2020.04.26 |
[백준 1932] 정수 삼각형 (0) | 2020.04.26 |