package programmers;
public class Two_X_N_타일링 {
//D[i] = 가로 길이갸 i 일때 타일 배치 경우의수
//D[i] = D[i-1] + D[i-2]
//D[i] = i-1번째에는 타일 세로 배치만 가능, i-2 번째에는 타일 가로 배치만 가능
private static int[] D;
public static int solution(int n) {
D = new int[60_001];
D[1] = 1;
D[2] = 2;
for (int i = 3; i <= n; i++) {
D[i] = (D[i - 1] + D[i - 2]) % 1_000_000_007;
}
return D[n];
}
public static void main(String[] args) {
System.out.println(solution(4));
}
}
'휴지통 > 알고리즘 & 자료구조' 카테고리의 다른 글
소수 찾기 (0) | 2023.02.17 |
---|---|
다리를 지나는 트럭 (0) | 2023.02.16 |
2개 이하로 다른 비트 (0) | 2023.02.14 |
모음 사전 (0) | 2023.02.13 |
파일명 정렬 (0) | 2023.02.12 |