본문 바로가기

알고리즘

백준 11726번 2×n 타일링 자바 풀이

728x90
반응형

❓문제

2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오.

아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다.


🔠 입력

첫째 줄에 n이 주어진다. (1 ≤ n ≤ 1,000)

 

🖨️출력

첫째 줄에 2×n 크기의 직사각형을 채우는 방법의 수를 10,007로 나눈 나머지를 출력한다.


✍️ 예제 입력

2

✔️ 예제 출력

2

✍️ 예제 입력

9

✔️ 예제 출력

55

💡해설

규칙을 찾아야 한다.

0 = 1

1 = 1

넣으면 n = (n-1 + n-2) % 10007 공식이 성립한다.

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

public class Main {

    public static void main(String[] args) throws IOException {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(br.readLine());

        int arr[] = new int[n + 1];

        arr[0] = 1;
        arr[1] = 1;
        for (int i = 2; i < n + 1; i++) {
            arr[i] = (arr[i - 1] + arr[i - 2]) % 10007;
        }

        System.out.println(arr[n]);

    }

}
 

 

728x90
반응형