반응형
처음 문제를 접했을 때.. 백트래킹부터 생각이났고! ㅎㅅㅎ 백트래킹으로 문제를 접근하였다..허허
결과는 시간초과였고 다시 문제를 풀어보는 수 밖에 없었다.
그렇다면 각 자리수에 따라 조건에 맞는 수의 개수에서의 규칙을 찾은 후 디피로 풀어보는 수 밖에 없었다ㅠ
처음 dp[1], dp[2]은 1로 채워주었고,,!나머지는 dp[n]=dp[n-1]+dp[n-2]로 배열을 채워주어면 완성시킬 수 있었다!
#include <iostream>
using namespace std;
long long dp[91];
void func(int n)
{
for (int i = 3; i <= n; i++)
dp[i] = dp[i - 2] + dp[i - 1];
}
int main()
{
int N;
cin >> N;
dp[1] = 1;
dp[2] = 1;
func(N);
cout << dp[N] << "\n";
return 0;
}
반응형
'Algorithm 💫 > Problem Solving' 카테고리의 다른 글
[백준 2293번 동전 1/ C++] (0) | 2020.12.11 |
---|---|
[백준 17837번 새로운 게임/ C++] (0) | 2020.12.02 |
[백준 10815번 숫자카드/ C++] (0) | 2020.12.02 |
[백준 1325번 효율적인 해킹/C++] (0) | 2020.12.02 |
[프로그래머스 - 기능 개발 / C++] (3) | 2020.12.02 |
댓글