class Solution {
// Dynamic Programming
public int solution(int n) {
// 모듈러 값
int MOD = 1000000007;
// dp 배열 초기화
if (n == 1) return 1;
if (n == 2) return 2;
// 동적 계획법 배열 초기화
int[] dp = new int[n + 1];
dp[1] = 1; // n = 1
dp[2] = 2; // n = 2
// 점화식에 따라 dp 계산
for (int i = 3; i <= n; i++) {
dp[i] = (dp[i - 1] + dp[i - 2]) % MOD;
}
return dp[n];
}
}
'코딩테스트 > 문제풀이' 카테고리의 다른 글
[ 프로그래머스 ] #12902 : 3 x n 타일링 - JAVA (0) | 2025.01.05 |
---|---|
[ 프로그래머스 ] #42898 : 등굣길 - JAVA (0) | 2025.01.02 |
[ 프로그래머스 ] #1835 : 단체사진 찍기 - JAVA (0) | 2024.12.30 |
[ 프로그래머스 ] #1829 : 카카오 프렌즈 컬러링북 - JAVA (0) | 2024.12.26 |
[ 백준 ] #11723 : 집합 - JAVA (0) | 2024.03.11 |