[DP] House Robber
2021. 4. 6. 11:54ㆍ프로그래밍-코딩테스트/LeetCode
단순한 DP문제라서 설명없이 바로 풀어본다
이때 dp[ i ]는 length가 i일때 최대값이라는 것에 주의하자.
경험상 dp는 내가 만드는 index 배열의 의미를 유념하는 것이 중요한 것 같다.
length가 i일때 최댓값은
dp[i-1]와 dp[i-2]+i값 중 더 큰 값이다.
이게 사실 dp의 핵심인데
이미 dp[i-1]과 dp[i-2]는 완벽하게 계산된 값이라는 전제하에,
dp[i-1]은 nums[i]을 더하지 못하지만 dp[i-2]는 더할 수 있으므로, 그 둘 중 더 큰 값이 무엇인지 생각해내는 것이다.
'프로그래밍-코딩테스트 > LeetCode' 카테고리의 다른 글
[Tree] Lowest Common Ancestor of a Binary Tree (0) | 2021.04.06 |
---|---|
[Tree, DFS] Path Sum III (0) | 2021.04.06 |
[Linked List] Add Two Numbers (0) | 2021.04.06 |
[DFS] Number of Islands (0) | 2021.04.06 |
[Array, DP] Maximum Product Subarray (0) | 2021.04.05 |