728x90
반응형
SMALL
✏️ 문제
문제 파악
직접 넣어보면 다음과 같이 나온다.
n | dp(n) | 개수 |
1 | dp(1) | 1 |
2 | dp(2) | 2 |
3 | dp(3) | 4 |
4 | dp(4) | 7 |
5 | dp(5) | 13 |
위의 표를 보면
- dp(n)일 때, 개수 = dp(n-1) + dp(n-2) + dp(n-3)
라는 규칙이 있다는 것을 알 수 있다.
이 점화식을 활용하여 코드를 짜면 쉽게 풀 수 있다!
알고리즘
- 다이나믹 프로그래밍
코드
t = int(input())
dp = [0, 1, 2, 4]
for i in range(4, 12):
dp.append(dp[i-1] + dp[i-2] + dp[i-3])
for i in range(t):
n = int(input())
print(dp[n])
728x90
반응형
LIST
'PS > 백준' 카테고리의 다른 글
[Python] 11053번 가장 긴 증가하는 부분 수열 (0) | 2024.09.11 |
---|---|
[Python] 1149번 RGB거리, 문제 완벽 분석!! 그림 설명 (1) | 2024.09.11 |
[Python] 1003번 피보나치 함수 (0) | 2024.09.07 |
[Python] 6118번 숨바꼭질 (2) | 2024.09.05 |
[Python] 13565번 침투 (0) | 2024.09.05 |