코드
#include <iostream>
using namespace std;
int dp[11];
int main(){
int T;
cin >> T;
dp[1] = 1;
dp[2] = 2;
dp[3] = 4;
for(int i = 0 ; i < T; i++){
int n;
cin >> n;
for(int j = 4; j <= n; j++){
dp[j] = dp[j-1] + dp[j-2] + dp[j-3];
}
cout << dp[n] << "\n";
}
return 0;
}
알게된 점
전형적인 dp문제이다
점화식만 잘 세우면 풀 수 있다.
'하루하나코딩' 카테고리의 다른 글
백준 1759 : 암호만들기 c++ (0) | 2023.03.06 |
---|---|
백준 14501 : 퇴사 c++ (0) | 2023.03.06 |
프로그래머스 : 입국심사 c++ (0) | 2023.02.22 |
백준 1654 : 랜선 자르기 python (0) | 2023.02.21 |
백준 18290 : NM과 K(1) c++ (0) | 2023.02.17 |