File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ /**
2+ * @param {number[] } nums
3+ * @return {number }
4+ */
5+ var rob = function ( nums ) {
6+ // μ§μ κ°μ
7+ const n = nums . length ;
8+
9+ // μ§μ΄ νλλΏμ΄λ©΄ κ·Έ μ§μ ν°λ κ²μ΄ μ΅λκ°
10+ if ( n === 1 ) {
11+ return nums [ 0 ] ;
12+ }
13+
14+ // dp[i] = 0λ² μ§λΆν° iλ² μ§κΉμ§ κ³ λ €νμ λ νμΉ μ μλ μ΅λ κΈμ‘
15+ const dp = Array ( n ) . fill ( 0 ) ;
16+
17+ // 첫 λ²μ§Έ μ§κΉμ§μ μ΅λ κΈμ‘
18+ dp [ 0 ] = nums [ 0 ] ;
19+
20+ // λ λ²μ§Έ μ§κΉμ§μ μ΅λ κΈμ‘
21+ // λ μ§μ λμμ νΈ μ μμΌλ―λ‘ λ μ€ ν° κ°μ μ ν
22+ dp [ 1 ] = Math . max ( nums [ 0 ] , nums [ 1 ] ) ;
23+
24+ // μΈ λ²μ§Έ μ§λΆν° λ§μ§λ§ μ§κΉμ§ λ°λ³΅
25+ for ( let i = 2 ; i < n ; i ++ ) {
26+
27+ // λ κ°μ§ μ νμ§ μ€ λ ν° κ°μ μ ν
28+ // 1οΈβ£ νμ¬ μ§μ νΈμ§ μλλ€ β μ΄μ μ§κΉμ§μ μ΅λ κΈμ‘(dp[i-1])
29+ // 2οΈβ£ νμ¬ μ§μ ν΄λ€ β μ μ μ§κΉμ§μ μ΅λ κΈμ‘(dp[i-2]) + νμ¬ μ§ λ(nums[i])
30+ dp [ i ] = Math . max ( dp [ i - 1 ] , nums [ i ] + dp [ i - 2 ] ) ;
31+ }
32+
33+ // λ§μ§λ§ μ§κΉμ§ κ³ λ €νμ λμ μ΅λ κΈμ‘ λ°ν
34+ return dp [ n - 1 ] ;
35+ } ;
You canβt perform that action at this time.
0 commit comments