문제
https://programmers.co.kr/learn/courses/30/lessons/12914#
풀이
완전 탐색으로 풀면 시간 초과가 발생한다.
가만 보니 2 x n 타일링 문제와 동일하다.
아래 문제에서 세로 타일 한개를 1칸, 가로타일 두 개를 2칸으로 해당 문제에 대입할 수 있다.
DP문제로 점화식을 이용해서 풀 수 있다.
2021.10.29 - [Alogirthm/Programmers] - [프로그래머스] 2 x n 타일링 (Java)
소스코드
class Solution {
public long solution(int n) {
int[] dp = new int[n+2];
dp[1] = 1;
dp[2] = 2;
for(int i = 3; i <= n; i++){
dp[i] = (dp[i-1] + dp[i-2])%1234567;
}
return dp[n];
}
}
'💡Problem Solving > Programmers' 카테고리의 다른 글
[프로그래머스] 단어 변환 (Java) (0) | 2021.11.02 |
---|---|
[프로그래머스] 합승 택시 요금 (Java) (0) | 2021.10.31 |
[프로그래머스] 입국심사 (Java) (0) | 2021.10.29 |
[프로그래머스] 2 x n 타일링 (Java) (1) | 2021.10.29 |
[프로그래머스] 야근 지수 (Java) (0) | 2021.10.29 |