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 |
Tags
- 스프링
- 2839
- mvc
- 2020 KAKAO BLIND
- 맛집 투어
- dp
- 다이나믹 프로그래밍
- HTTP API
- Servlet
- 완도산회
- 고모네 콩탕
- 맛집
- Spring
- 동적 프로그래밍
- 2638
- 프로그래머스
- 2589
- 투어
- 백준
- 1로 만들기
- 양꼬치
- 문자열 압축
- 서블릿
- 설탕 배달
- BFS
- 스프링 MVC
- 포두부 보쌈
- 알고리즘
- 호유동
- 쓰레드 풀
Archives
- Today
- Total
프로그래밍 공방
[백준] 11726번 : 2xn 타일링 본문
문제 |
2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오.
입력 |
첫째 줄에 n이 주어진다. (1 ≤ n ≤ 1,000)
출력 |
첫째 줄에 2×n 크기의 직사각형을 채우는 방법의 수를 10,007로 나눈 나머지를 출력한다.
문제해결방법 |
1x2 타일을 두 개 붙여서 두 칸을 채우는 타일을 만든다.
이렇게 하면 1칸 짜리 타일 1개, 2칸 짜리 타일 1개로 생각할 수 있다.
n번째 타일을 채우는 경우의 수를 생각하면 n-1 번째 타일에서 1칸 짜리 타일을 붙이는 방법과
n-2 번째 타일에서 2칸 짜리 타일을 붙이는 방법이 있다.
이것을 수식으로 나타내면 다음과 같다.
타일[n] = 타일[n-1] + 타일[n-2]
코드 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | package baekjoon; import java.io.BufferedReader; import java.io.InputStreamReader; public class Main11726_2Xn타일링 { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); int[] arr = new int[n+1]; arr[0] = 1; arr[1] = 1; for(int i=2; i<=n; i++) arr[i] = (arr[i-1] + arr[i-2])%10007; System.out.println(arr[n]); } } | cs |
코드에 대한 피드백이나 더 좋은 아이디어는 언제나 환영입니다.
'개발 > 문제해결' 카테고리의 다른 글
[프로그래머스] 기능개발 (0) | 2020.11.14 |
---|---|
[프로그래머스] 스킬트리 (0) | 2020.11.13 |
[백준] 3019번 : 테트리스 (0) | 2020.11.12 |
[백준] 2644번 : 촌수계산 (0) | 2020.11.12 |
[백준] 11725번 : 트리의 부모 찾기 (0) | 2020.11.12 |