Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
Tags
- sort
- 백준 14391
- java
- 백준 17425
- 백준 16935
- Algorithm
- 0으로 채우기
- 백준 16927
- 프로그래머스 옹알이 java
- 프로그래머스 네트워크 java
- 코딩테스트
- java 반올림
- 알고리즘
- Math.ceil()
- 백준 4375
- java 내림
- 백준 11723
- 프로그래머스 도둑질 java
- 백준 15661
- Math.floor()
- 자바
- 백준 18290
- mysql
- 프로그래머스 숫자의 표현 java
- java 올림
- Arrays
- 네트워크
- time complexity
- 프로그래머스 연속된 수의 합 java
- Codility
Archives
- Today
- Total
취미처럼
[프로그래머스] 도둑질 본문
https://school.programmers.co.kr/learn/courses/30/lessons/42897
첫번째 집을 훔칠 경우 - 마지막 집을 훔칠 수 없음
두번째 집부터 훔칠 경우 - 마지막 집을 훔칠 수 있음
import java.util.*;
class Solution {
public int solution(int[] money) {
int answer = 0;
int[] dp = new int[money.length];
int[] dp2 = new int[money.length];
dp[0] = money[0];
dp[1] = money[0];
dp2[0] = 0;
dp2[1] = money[1];
for(int i=2; i< money.length; i++) {
dp[i] = Math.max(dp[i - 1], dp[i - 2] + money[i]);
dp2[i] = Math.max(dp2[i - 1], dp2[i - 2] + money[i]);
}
answer = Math.max(dp[money.length-2], dp2[money.length-1]);
return answer;
}
}
'Algorithm > Programmers' 카테고리의 다른 글
[프로그래머스] 연속된 수의 합 (0) | 2021.03.15 |
---|---|
[프로그래머스] 옹알이 (0) | 2021.03.15 |
[프로그래머스] 숫자의 표현 (0) | 2021.03.15 |
[프로그래머스] 네트워크 (0) | 2021.03.15 |
Comments