Notice
Recent Posts
Recent Comments
Link
할껀하고놀자
[백준] 9095번 1, 2, 3 더하기 (DP) 본문
728x90
문제 링크입니다.
https://www.acmicpc.net/problem/9095
1. 처음생각
- 막막..
- 역시 해답은 손코딩이었다. 이전꺼를 어떻게 활용할지만 계속 생각했던 것 같다.
- dp[n] = dp[n-1] + dp[n-2] + dp[n-3]
#include<iostream>
#include<vector>
using namespace std;
int Solution(int n) {
if (n == 1)return 1; // 처리해줌
if (n == 2)return 2;
vector<int> dp(n+1,0);
dp[1] = 1;
dp[2] = 2;
dp[3] = 4;
for (int i = 4; i <= n; i++) {
dp[i] = (dp[i - 1] + dp[i - 2] + dp[i - 3]) % 10007; // 아예 넣을 때 나머지를 넣어주자..!
}
return dp[n];
}
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
int N;
cin >> N;
int x;
for (int i = 0; i < N; i++) {
cin >> x;
cout << Solution(x)<<"\n";
}
return 0;
}
- 통과되었다. 슬슬 dp에 자신감이 붙기 시작했다.
'[IT] > 백준' 카테고리의 다른 글
[백준] 9093 단어 뒤집기 (0) | 2019.09.20 |
---|---|
[백준] 2588번 곱셈 (0) | 2019.09.20 |
[백준] 11727번 2Xn 타일링 2 (DP) (0) | 2019.09.11 |
[백준] 11726번 2Xn 타일링 (DP) (0) | 2019.09.11 |
[백준] 1463번 1로 만들기 (DP) (0) | 2019.09.11 |
Comments