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

문제 풀이

2 X n 사각형의 제일 왼 쪽에 타일을 놓을 수 있는 방법은 두 가지가 있다. 이 두 경우를 고려해서 가로 폭을 2칸 줄인 2 X (n - 2)의 경우와, 가로 폭을 1칸 줄인 2 X (n - 1)의 경우로 나눠서 해결할 수 있다.
따라서 memo[n] = memo[n - 1] + memo[n - 2]로 구할 수 있다.
예제)


코드
import java.util.*;
class Main{
public static void main(String[] args) {
int n = new Scanner(System.in).nextInt();
int[] memo = new int[1001];
memo[0] = 1;
memo[1] = 1;
for(int i = 2; i <= n; i++) {
memo[i] = memo[i - 2] + memo[i - 1];
memo[i] %= 10007;
}
System.out.println(memo[n]);
}
}
'🧑💻코딩 테스트 > 백준 (BOJ)' 카테고리의 다른 글
[코딩테스트/백준 알고리즘] 9095번 : 1, 2, 3 더하기 (자바, Java 풀이) (0) | 2022.08.30 |
---|---|
[코딩테스트/백준 알고리즘] 11727번 : 2 X n 타일링 2 (자바, Java 풀이) (0) | 2022.08.30 |
[코딩테스트/백준 알고리즘] 1463번 : 1로 만들기 (Java, 자바 풀이) (0) | 2022.08.29 |
[코딩테스트/백준 알고리즘] 1966번 : 프린터 큐 (Java, 자바 풀이) (0) | 2022.08.11 |
[코딩테스트/백준 알고리즘] 10773번 : 제로 (Java, 자바 풀이) (0) | 2022.08.11 |
댓글