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]);
    }
}

 

+ Recent posts