728x90
https://programmers.co.kr/learn/courses/30/lessons/42897?language=java
문제 풀이
.
public int solution(int[] money) {
int answer = 0, n = money.length, dp[] = new int[n], i;
dp[0] = dp[1] = money[0];
for (i = 2; i < n - 1; i++)
dp[i] = Math.max(dp[i - 2] + money[i], dp[i - 1]);
answer = dp[n - 2];
dp[0] = 0; dp[1] = money[1];
for (i = 2; i < n; i++)
dp[i] = Math.max(dp[i - 2] + money[i], dp[i - 1]);
answer = Math.max(answer, dp[n - 1]);
return answer;
}
.
반응형
'코딩 문제 풀기 ( Algorithm problem solving ) > 프로그래머스 ( Programmers )' 카테고리의 다른 글
[프로그래머스(Programmers)][SQL] SELECT (Lv1) 동물의 아이디와 이름 (0) | 2022.01.06 |
---|---|
[프로그래머스(Programmers)][SQL] SELECT (Lv1) 모든 레코드 조회하기 (0) | 2022.01.06 |
[프로그래머스(Programmers)][자바(java)] (Lv4) 올바른 괄호의 개수 (0) | 2021.10.28 |
[프로그래머스(Programmers)][자바(java)] (Lv2) 12주차 - 피로도 <위클리 챌린지> (0) | 2021.10.26 |
[프로그래머스(Programmers)][자바(java)] (Lv3) 11주차 - 아이템 줍기 <위클리 챌린지> (0) | 2021.10.20 |