* 문제풀이
1. 2*1 타일링= 1개 , 2*2 타일링 = 2개 2. 2*3 타일링값은 2*2타일링에 세로막대기(2*1) 붙인 값 + 2*1 타일링값에 가로막대기 2개 붙인 값임 따라서, 2*3 타일링 값 = 2*2 타일링 값 + 2*1 타일링 값 즉, d(n) = d(n-1) + d(n-2) |
* 소스코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
class Solution {
public int solution(int n) {
long [] dp = new long[n];
dp[0] = 1;
dp[1] = 2;
for(int i = 2; i < n; i++)
{
dp[i] = (dp[i-1] + dp[i-2]) % 1000000007;
}
return (int) dp[n-1];
}
}
|
cs |
'★ > 알고리즘스터디' 카테고리의 다른 글
baekjoon/2*N 타일링2 (0) | 2019.10.15 |
---|---|
baekjoon/10799 (0) | 2016.07.19 |
Baekjoon/1934 (0) | 2016.03.23 |
Baekjoon/1753 (0) | 2016.03.22 |