Game Develop

[Algorithm] Programmers :: 2 x n 타일링 본문

Algorithm/Programmers

[Algorithm] Programmers :: 2 x n 타일링

MaxLevel 2022. 9. 5. 10:16

https://school.programmers.co.kr/learn/courses/30/lessons/12900?language=cpp 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#define MAX_NUM 1000000007
 
int dpArray[60001];
 
int solution(int n) {
    int answer = 0;
 
    dpArray[1= 1;
    dpArray[2= 2;
 
    for (int i = 3; i <= n; i++)
    {
        dpArray[i] = (dpArray[i - 1+ dpArray[i - 2]) % MAX_NUM;
    }
 
    return dpArray[n];
}
cs

 

공책에다가 한번 경우의 수를 적어보면 피보나치수의 규칙인걸 알 수 있다.

수가 클 수 있기 때문에 MAX_NUM만큼 값을 나눠주라해서 나눠줬다.

dp문제중 대표유형인 타일링문제의 제일 기본유형문제다.