문제풀이/DP

[파이썬] [DP] 백준 15989 1, 2, 3 더하기 4

승무_ 2023. 2. 27. 11:24

문제

https://www.acmicpc.net/problem/15989

 

15989번: 1, 2, 3 더하기 4

정수 4를 1, 2, 3의 합으로 나타내는 방법은 총 4가지가 있다. 합을 나타낼 때는 수를 1개 이상 사용해야 한다. 합을 이루고 있는 수의 순서만 다른 것은 같은 것으로 친다. 1+1+1+1 2+1+1 (1+1+2, 1+2+1) 2+2

www.acmicpc.net

코드

import sys
input = sys.stdin.readline

#1만 사용하여 나타내는 경우는 한가지 이므로 1로 초기화
dp=[1]*10001

#2가 추가되는 경우
for i in range(2,10001):
    dp[i]+=dp[i-2]
#3이 추가되는 경우
for i in range(3,10001):
    dp[i]+=dp[i-3]

t=int(input())
array=list(int(input()) for _ in range(t))
for i in array:
    print(dp[i])