class Solution {
static int[] dp1;
static int[] dp2;
static int N;
public int solution(int[] money) {
N = money.length;
dp1 = new int[N+1];//첫 집 털기
dp2 = new int[N+1];//첫 집 안 털기
dp1[1]=money[0]; //첫 집 털기
for(int i=2; i<=N; i++){
dp1[i] = Math.max(dp1[i-2]+money[i-1],dp1[i-1]);
dp2[i] = Math.max(dp2[i-2]+money[i-1],dp2[i-1]);
}
return Math.max(dp1[N-1],dp2[N]);
}
}
'NOTE > 프로그래머스' 카테고리의 다른 글
식품분류별 가장 비싼 식품의 정보 조회하기 - Oracle (0) | 2022.10.12 |
---|---|
즐겨찾기가 가장 많은 식당 정보 출력하기 - Oracle (0) | 2022.10.12 |
정수 삼각형 (0) | 2022.09.30 |
그래프 - 순위 (1) | 2022.09.30 |
사칙연산 (0) | 2022.09.29 |