[알고리즘] 백준 - 2xn 타일링

June·2021년 4월 13일
0

알고리즘

목록 보기
156/260

백준 - 2xn 타일링

내 풀이

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;

public class baekjoon_11726 {

    static int MOD = 10007;
    static long[] dp = new long[1001];
    static int[] dp2 = new int[1001];

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        long n = Long.parseLong(br.readLine());
        System.out.println(solve(n));
    }

    private static Long solve(Long n) {
        if (n == 1) {
            return 1L;
        } else if (n == 2) {
            return 2L;
        }
        if (dp[(int) (n-1)] == 0){
            dp[(int) (n - 1)] = solve(n - 1);
        }
        if (dp[(int) (n - 2)] == 0) {
            dp[(int) (n - 2)] = solve(n - 2);
        }

        return (dp[(int) (n-1)]  % MOD + dp[(int) (n-2)]  % MOD) % MOD;
    }
}

long을 Long이라고 적었다가 에러가 났었다. Long형 배열을 선언한뒤 출력을 해보니 전부 null이 들어가있었다. 이유를 찾아보니 long은 primitive type이고 Long은 Wrapper class이기 때문이었다.

0개의 댓글