NOTE/프로그래머스
도둑질
m-inz
2022. 9. 30. 17:38
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]);
}
}