Programmers(프로그래머스) 2 x n 타일링
코딩테스트 연습 - 2 x n 타일링
가로 길이가 2이고 세로의 길이가 1인 직사각형모양의 타일이 있습니다. 이 직사각형 타일을 이용하여 세로의 길이가 2이고 가로의 길이가 n인 바닥을 가득 채우려고 합니다. 타일을 채울 때는 ��
programmers.co.kr
문제 설명
가로 길이가 2이고 세로 길이가 1인 직사각형 모양의 타일을 가지고 세로의 길이가 2이고 가로의 길이가 n인 바닥을 가득 채우는 방법의 수를 구하라.
풀이
아래 백준 11726번 2×n 타일링 풀이 참고하자.
조건만 조금 다를 뿐, 동일한 문제이다.
[Baekjoon/Silver 3/Java] 11726번: 2×n 타일링
11726번: 2×n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다. www.acmicpc.net 문제
lionem2018.tistory.com
구현 코드는 다음과 같다.
import java.util.*;
class Solution {
int solution(int n) {
int answer = 0;
int[] cntWays = new int[n+1];
cntWays[0] = 1;
cntWays[1] = 1;
for(int i = 2; i <= n; i++)
cntWays[i] = (cntWays[i-2] + cntWays[i-1])% 1000000007;
answer = cntWays[n];
return answer;
}
}
'Algorithm > Programmers' 카테고리의 다른 글
[Programmers/Level 3/Java] 정수 삼각형 (0) | 2020.07.20 |
---|---|
[Programmers/Level 2/Java] 라면공장 (0) | 2020.06.22 |
[Programmers/Level 2/Java] 조이스틱 (0) | 2020.06.10 |
[Programmers/Level 2/Java] 124 나라의 숫자 (0) | 2020.06.08 |
[Programmers/Level 3/Java] 종이접기 (0) | 2020.06.06 |