본문으로 바로가기
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.


준 알고리즘


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


기저식을 잘 세워야한다. 그리고 그림을 잘그려서 패턴 파악을 했었어야했다.

나는 그림을 잘못그려서 규칙을 찾는데 오래걸렸다.

1 2 3 5 8 13 21 순으로 타일의 개수를 찾아낼 수 있었다.

식을 세우면 D[i] = D[i-1] + D[i-2] 임을 알 수있다.



import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in); 
        int count = Integer.parseInt(scan.nextLine().trim());
        
        long[] memoArray = new long[1001];
        memoArray[0] = 0;
        memoArray[1] = 1;
        memoArray[2] = 2;
        
        if(count <= 2) {
            System.out.println(memoArray[count]);
            return ;
        }
        
        for(int i = 3; i <= count; i++) {
            memoArray[i] = (memoArray[i-1] + memoArray[i-2]) % 10007;
        }
        
        System.out.println(memoArray[count]);
    }
}