풀이과정
1칸일 때는 1
2칸일 때는 1 + 1, 2
3칸일 때는 1 + 1 + 1, 1 + 2, 2 + 1
이므로 피보나치 규칙을 찾을 수 있다.
#include <string>
#include <vector>
using namespace std;
int dp[2001];
int dynamic(int n){
dp[1] = 1;
dp[2] = 2;
for(int i = 3; i <= n; i++){
dp[i] = (dp[i - 1] + dp[i - 2]) % 1234567;
}
return dp[n] % 1234567;
}
long long solution(int n) {
long long answer = 0;
answer = dynamic(n);
return answer;
}
'🍞 Algorithm > Programmers' 카테고리의 다른 글
[프로그래머스][Level2] 의상 c++ (0) | 2022.10.20 |
---|---|
[프로그래머스][Level2] 숫자의 표현 c++ (0) | 2022.10.20 |
[프로그래머스][Level2] 더 맵게 c++ (0) | 2022.10.20 |
[프로그래머스][Level2] 다음 큰 숫자 c++ (0) | 2022.10.20 |
[프로그래머스][Level2] 게임 맵 최단거리 c++ (0) | 2022.10.20 |