프로그래머스(Programmers)

프로그래머스 2 x n 타일링

cosmohoo 2022. 7. 7. 23:35
반응형

문제설명

 

=> DP 문제입니다. 

=> 점화식을 세울 줄 아는지에 대해 묻는 문제였습니다. 

=> 위에서부터 아래로 CASE를 나누며 점화식을 만들어낼 수 있는지 확인하는 문제입니다. 

=> 혹은, F(n)의 값들을 써보며 규칙성을 찾아 문제를 풀이할 수도 있습니다. 

=> 해당 문제는 피보나치수열과 같은 문제였습니다. 

=> 풀이는 아래에 첨부하였습니다. 

 

#include <string>
#include <vector>
#include <iostream>
#include <algorithm>

using namespace std;

int solution(int n) {
    vector<int> answer;
    answer.push_back(0);
    answer.push_back(1);
    answer.push_back(2);
 
    if((n==1) || (n==2))
    {
    return answer[n];
    }
   
    for(int i=3; i<=n; i++)
    {
        int tmp = (answer[i-1] + (answer[i-2]))%1000000007;
        answer.push_back(tmp);
    }
    return answer[n];
}

 

 

 

반응형