11726번: 2×n 타일링
2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다.
www.acmicpc.net

import java.io.*;
import java.util.*;
public class Main {
static int[] dp;
public static int answer(int n){
dp = new int[n];
for (int i=0;i<n;i++){
if (i==0){
dp[i] = 1;
} else if (i==1){
dp[i] = 2;
} else {
dp[i] = (dp[i-1]+dp[i-2]>10007)?(dp[i-1]+dp[i-2]%10007):dp[i-1]+dp[i-2];
}
}
return dp[n-1]%10007;
}
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
System.out.println(answer(n));
}
}
'Computer Science > 알고리즘' 카테고리의 다른 글
프로그래머스 코딩테스트 연습 | 기능개발 Java 문제 풀이 (0) | 2023.04.16 |
---|---|
프로그래머스 | 다리를 지나는 트럭 Java 문제 풀이 (0) | 2023.04.15 |
백준 Java | 세그먼트 트리 문제 풀이(BOJ 1275번 커피숍2) (0) | 2023.02.12 |
백준 Java | BOJ 2243 사탕상자 (0) | 2023.02.02 |
백준 Java | BOJ 10845 큐 (0) | 2023.02.01 |