반응형
DP 문제
2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오.
아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다.
풀이
import java.util.Scanner;
public class Main {
static int[] dp;
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
dp = new int[n + 1];
System.out.println(func(n));
}
public static int func(int n) {
if (n == 0 || n == 1)
return 1;
if (dp[n] == 0)
dp[n] = (func(n - 1) + func(n - 2)) % 10007;
return dp[n];
}
}
반응형
'알고리즘' 카테고리의 다른 글
[백준] 9095 1,2,3 더하기 풀이 Java (0) | 2022.07.14 |
---|---|
[백준] 2579 계단 오르기 풀이 Java (0) | 2022.07.14 |
[HackerRank] Abbreviation 풀이 Java (0) | 2022.07.12 |
Alternating Characters 풀이 Java (0) | 2022.07.11 |
Recursion: Davis' Staircase 풀이 Java (0) | 2022.07.10 |
댓글