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문제중 대표유형인 타일링문제의 제일 기본유형문제다.