[백준] 2133: 타일 채우기

문제

문제 풀이

코드

package DP;

import java.util.Scanner;

public class ANS2133 {

    static int N;
    static int[] dp;

    public static void main(String[] args){

        Scanner sc = new Scanner(System.in);
        N = sc.nextInt();

        //dp선언 및 초기화
        dp = new int[N+1];
        for(int i = 1 ; i < N ; i++){
            dp[i] = 0;
        }

        dp[0] = 1;
        for(int i = 2 ; i <= N ; i++){
            dp[i] = dp[i-2] * 3;
            for(int j = i-4; j >= 0 ;j-=2){
                dp[i] += dp[j] *2;
            }
        }

        System.out.println(dp[N]);
    }
}

n-4일때까지 생각했는데,, n-6,n-8,,0이 있을줄이야ㅠㅠ
그래도 나름 접근했다..!!

좋은 웹페이지 즐겨찾기