문제
풀이
1과 2와 3일 때의 합의 방법의 수를 정의한다.
(n을 만드는 가짓수) == (n-3을 만드는 가짓수) + (n-2를 만드는 가짓수) + (n-1을 가짓수)임을 이용하여 코드를 작성한다. (각 가짓수에 각각 3, 2, 1을 더하면 n이 만들어지기 때문)
코드
T = int(input())
dp = [0] * 10
dp[0] = 1
dp[1] = 2
dp[2] = 4
for i in range(3, 10):
dp[i] = dp[i - 3] + dp[i - 2] + dp[i - 1]
for _ in range(T):
print(dp[int(input()) - 1])
'Koala - 16기 > 코딩테스트 심화 스터디' 카테고리의 다른 글
[백준/C++] 8972번: 미친 아두이노 (0) | 2024.10.09 |
---|---|
[백준/C++] 16395번: 파스칼의 삼각형 (0) | 2024.10.07 |
[BOJ/Python3] 11726번 2xn 타일링 (0) | 2024.10.07 |
[백준/Python] 4673번 셀프 넘버 (0) | 2024.10.06 |
[백준/Python] 9095번: 1, 2, 3 더하기 (0) | 2024.10.05 |