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