본문 바로가기

★/알고리즘스터디

프로그래머스/2*N 타일링

* 문제풀이

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