안녕하세요. 오늘은 프로그래머스의 도둑질 문제를 풀어보도록 하겠습니다~~!
https://programmers.co.kr/learn/courses/30/lessons/42897
public int solution(int[] money) {
int answer = 0;
int[] dp1 = new int[money.length-1];
int[] dp2 = new int[money.length];
dp1[0] = money[0];
dp1[1] = money[0];
dp2[1] = money[1];
for (int i = 2; i < dp1.length; i++) {
dp1[i] = Math.max(dp1[i - 2] + money[i], dp1[i - 1]);
dp2[i] = Math.max(dp2[i - 2] + money[i], dp2[i - 1]);
}
answer = Math.max(dp1[dp1.length - 1], dp2[dp2.length - 1]);
return answer;
}
[참고한 곳]
https://yubh1017.tistory.com/39