본문 바로가기

Study/BaekJoon

[백준 자바JAVA] 11727번 - 2xn 타일링 2

728x90

https://www.acmicpc.net/problem/11727


● 문제

이전 11726번 2xn 타일링의 두번째 문제이다 인덱스가 i 일때 i-2 + i-1의 값을 더하면 되는 문제여서 같은결로 생각해보았을때

n 1 2 3 4 5 6 7 8 9
결과 1 3 5 11 21 43 85 171 341

 

값을 확인해보면 규칙이 있는걸 확인할 수 있다. 인덱스가 i일때 dp[i - 1] + 2 * dp[i - 2] 라는 공식을 확인할 수 있다.


● 코드

import java.io.*;

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[] dp = new int[1001];

        dp[1] = 1;
        dp[2] = 3;

        for(int i = 3; i <= n; i++) {
            dp[i] = (dp [i - 1] + 2 * dp[i - 2]) % 10007;
        }
        
        System.out.println(dp[n]);
    }
}
728x90