Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 머신러닝
- Python
- 개발자
- MySQL
- 데이터베이스 개론
- 데이터베이스
- 파이썬
- 데이터베이서
- 연산자
- 카카오클라우드스쿨2기
- 머신러닝야학
- pandas
- 생활코딩
- 야학
- 생활코딩 데이터베이스
- 딥러닝
- 이것이 자바다
- flatten
- 머신러닝(딥러닝)
- Java
- JavaScript
- tensorflow
- 생활코딩 머신러닝야학
- CNN
- reshape
- Database
- 판다스
- LeNet
Archives
- Today
- Total
IT's 우
[java, 동적 계획법 dynamic programming]백준 11726번- 2 x n 타일링 본문
728x90
출처: https://www.acmicpc.net/problem/11726
11726번: 2×n 타일링
2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다.
www.acmicpc.net
코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
long[] D = new long[n + 1];
D[0] = 1;
D[1] = 1;
if (n >= 2) {
for (int i = 2; i <= n; i++) {
D[i] = (D[i - 2] + D[i - 1]) % 10007;
}
}
System.out.println(D[n]);
}
}
|
cs |
풀이
D[i]
=끝이 1칸(1x2)으로 끝날 때 + 끝이 2칸(2x1)으로 끝날 때
끝이 1칸(1x2)으로 끝날 때= D[i-1]
끝이 2칸(2x1)으로 끝날 때= D[i-2]
점화식:
D[i] = (D[i - 2] + D[i - 1]) % 10007;
728x90
반응형
'알고리즘 > 백준' 카테고리의 다른 글
[java, 동적 계획법 dynamic programming]백준 1149번- RGB거리 (0) | 2022.08.23 |
---|---|
[java, 동적 계획법 dynamic programming]백준 10844번- 계단 수 구하기 (0) | 2022.08.23 |
[java, 동적 계획법 dynamic programming] 백준2193번 이친수 (0) | 2022.08.23 |
[java, 깊이우선탐색]백준 13023번- ABCDE(친구 관계 파악하기) (0) | 2022.07.24 |
[Java, 백준, Do it! 코딩 테스트-기초편] 05-1 깊이 우선 탐색, 백준 11724번 - 연결 요소의 개수 (0) | 2022.07.19 |