포스트

[ 프로그래머스 ] 2 X N 타일링

문제


https://school.programmers.co.kr/learn/courses/30/lessons/12900

풀이


가로 길이가 2이고 세로의 길이가 1인 직사각형 모양의 타일을 N X 2 사각형에 배치할 때, 배치할 수 있는 경우의 수를 구하는 문제로, 다음 사이즈의 경우의 수가 이전 사이즈의 경우의 수에 영향을 받으므로 DP를 활용, 점화식을 세워 풀이하였다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <string>
#include <vector>

using namespace std;

int arr[60000];

int solution(int n) 
{
    int answer = 0;

    //1 1 2 2 3 3 4 5

    arr[0] = 1;
    arr[1] = 2;

    for (int i = 2; i < n; i++)
    {
        arr[i] = (arr[i - 1] + arr[i - 2]) % 1000000007;
    }

    answer = arr[n - 1];

    return answer;
}

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.