반응형
츄르사려고 코딩하는 코집사입니다.
1. [백준 알고리즘] 백준 11726번 2×n 타일링 자바(Java)
1) 문제번호 : 11726번
2) 문제 출처
2. 문제
2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오.
아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다.
3. 제약사항
-
4. 입력
첫째 줄에 n이 주어진다. (1 ≤ n ≤ 1,000)
5. 출력
첫째 줄에 2×n 크기의 직사각형을 채우는 방법의 수를 10,007로 나눈 나머지를 출력한다.
6. 풀이
- 피보나치 수열과 비슷한 문제이긴 하다.
- 2X1 부터 2X4까지만 반복해서 그려본다면 규칙을 찾을 수 있다.
- 규칙은 DP[i] = DP[i+1] + DP[i+2]가 된다.
7. 소스 코드
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();// 정수
int[] DP = new int[n+2];
DP[0] = 1;
DP[1] = 1;
DP[2] = 2;
recur(DP, n);
System.out.println(recur(DP,n));
}
public static int recur(int[] DP, int n) {
for(int i=3;i<=n;i++) {
DP[i] = (DP[i-1] + DP[i-2]) % 10007;
}
return DP[n];
}
}
반응형
'알고리즘 > 백준 알고리즘' 카테고리의 다른 글
[백준 알고리즘] 백준 9465번 스티커 자바(Java) (0) | 2021.03.24 |
---|---|
[백준 알고리즘] 백준 2096번 내려가기 자바(Java) (0) | 2021.03.24 |
[백준 알고리즘] 백준 11048번 이동하기 자바(Java) (0) | 2021.03.24 |
[백준 알고리즘] 백준 2579번 계단 오르기 자바(Java) (0) | 2021.03.24 |
[백준 알고리즘] 백준 9095번 1, 2, 3 더하기 자바(Java) (0) | 2021.03.24 |
[백준 알고리즘] 백준 1149번 RGB거리 자바(Java) (0) | 2021.03.24 |
[백준 알고리즘] 백준 1463번 1로 만들기 자바(Java) (0) | 2021.03.23 |
[백준 알고리즘] 백준 10870번 피보나치 수5 자바(Java) (0) | 2021.03.23 |
최근댓글