[Lv.3 / Programmers / Java] 산 모양 타일링

송현진·어제
0

알고리즘

목록 보기
50/50

문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/258705

접근

풀이

class Solution {
    final int mod = 10007;
    public int solution(int n, int[] tops) {
        int[] a = new int[n];
        int[] b = new int[n];
        
        a[0] = 1;
        b[0] = (tops[0] == 1 ? 3 : 2);
        
        for(int i=1; i<n; i++) {
            a[i] = (a[i - 1] + b[i - 1]) % mod;
            b[i] = (tops[i] == 1 
                    ? (a[i -1] * 2 + b[i - 1] * 3) % mod
                    : (a[i - 1] + b[i - 1] * 2) % mod);
        }
        
        return (a[n - 1] + b[n - 1]) % mod;
    }
}

풀이를 참고할 때 카카오 풀이를 참고해서 풀었다.

profile
개발자가 되고 싶은 취준생

0개의 댓글