[문제 설명]
https://programmers.co.kr/learn/courses/30/lessons/12900
[풀이 과정]
- DP 문제는 케이스를 나누는 것이 중요!
- 문제를 다 풀기 직전의 상황을 이용하여 거꾸로 푸는 방법이 좋음!
[JAVA code]
package com.algorithm.programmers.level3;
public class Test02 {
public static void main(String[] args) {
System.out.println(solution(4));
}
public static int solution(int n) {
int answer = 0;
int[] nArray = new int[n + 1];
nArray[1] = 1;
nArray[2] = 2;
for (int i = 3; i < n + 1; i++) {
nArray[i] = (nArray[i - 2] + nArray[i - 1]) % 1000000007;
}
answer = nArray[n];
return answer;
}
}
'코딩 테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스][Level3][JAVA][등굣길] (0) | 2021.01.16 |
---|---|
[프로그래머스][Level3][JAVA][단어변환] (0) | 2021.01.09 |
[프로그래머스][Level2][JAVA] 방금 그 곡 (0) | 2020.11.22 |
[프로그래머스][Level2] 압축 - JAVA (0) | 2020.11.20 |
[프로그래머스][Level2][JAVA] 영어 끝말잇기 (0) | 2020.11.07 |