File tree Expand file tree Collapse file tree 1 file changed +26
-0
lines changed Expand file tree Collapse file tree 1 file changed +26
-0
lines changed Original file line number Diff line number Diff line change 1+ /**
2+ * House Robber ๋ฌธ์
3+ *
4+ * ์๊ฐ ๋ณต์ก๋: O(n)
5+ * ๊ณต๊ฐ ๋ณต์ก๋: O(1)
6+ *
7+ * ์ ๊ทผ ๋ฐฉ๋ฒ:
8+ * - Dynamic Programming์ ์ฌ์ฉํ์ฌ ๊ฐ ์์น์์์ ์ต๋ ๊ธ์ก์ ๊ณ์ฐ
9+ * - ํ์ฌ ์ง์ ํธ ๊ฒฝ์ฐ: ์ ์ ์ง๊น์ง์ ์ต๋๊ฐ + ํ์ฌ ์ง์ ๊ธ์ก
10+ * - ํ์ฌ ์ง์ ์ ํธ ๊ฒฝ์ฐ: ์ด์ ์ง๊น์ง์ ์ต๋๊ฐ
11+ * - ๋ ๊ฒฝ์ฐ ์ค ์ต๋๊ฐ์ ์ ํ
12+ */
13+ const rob = ( nums ) => {
14+ if ( nums . length === 1 ) return nums [ 0 ] ;
15+
16+ let prev2 = nums [ 0 ] ; // ์ ์ ์ง๊น์ง์ ์ต๋ ๊ธ์ก
17+ let prev1 = Math . max ( nums [ 0 ] , nums [ 1 ] ) ; // ์ด์ ์ง๊น์ง์ ์ต๋ ๊ธ์ก
18+
19+ for ( let i = 2 ; i < nums . length ; i ++ ) {
20+ const current = Math . max ( prev1 , prev2 + nums [ i ] ) ;
21+ prev2 = prev1 ;
22+ prev1 = current ;
23+ }
24+
25+ return prev1 ;
26+ } ;
You canโt perform that action at this time.
0 commit comments