반응형
문제설명
https://www.acmicpc.net/problem/9095
사고과정
- 경우의 수를 n = 5까지 나열해보고 '뒤의 입장'에서 생각해보려고 하는데 규칙을 찾지 못했다..
- 풀이를 보니 매우 간단한 규칙이였다.. n이 4이상부터는 n-1, n-2, n-3일 때의 개수를 합해주면 된다.. 이런.. 매우 간단한 걸 캐치 못하다니..😢
- 점화식으로 나타내면 다음과 같다. $dp[i] = dp[i-1] + dp[i-2] + dp[i-3]$
풀이(스스로 못 푼 풀이)
for tc in range(int(input())):
n = int(input())
dp = [0] * 12
dp[1] = 1
dp[2] = 2
dp[3] = 4
for i in range(4, n+1):
dp[i] = dp[i-1] + dp[i-2] + dp[i-3]
print(dp[n])
반응형
'알고리즘 삽질장' 카테고리의 다른 글
[BOJ] 16194번 - 카드 구매하기 2 (0) | 2021.10.28 |
---|---|
[BOJ] 11052번 - 카드 구매하기 (0) | 2021.10.27 |
[BOJ] 11726번 - 2Xn 타일링 (0) | 2021.10.27 |
[BOJ] 17103번 - 골드바흐 파티션 (0) | 2021.10.27 |
[BOJ] 1373번 - 2진수 8진수 (0) | 2021.10.27 |