File tree Expand file tree Collapse file tree 1 file changed +39
-0
lines changed
Expand file tree Collapse file tree 1 file changed +39
-0
lines changed Original file line number Diff line number Diff line change 1+ /**
2+ ๋ฐฐ์ด์ ๊ฐ๋๊ฐ ํธ ์ง์ ๋์ ์์๋๋ก ๋ํ๋
๋๋ค.
3+ *
4+ * ์ธ์ ํ ๋ ์ง์ ๋์์ ํธ๋ฉด ๊ฒฝ์ฐฐ์ ์๋ฆผ์ด ๊ฐ๊ธฐ ๋๋ฌธ์ ํผํด์ผ ํฉ๋๋ค.
5+ *
6+ * ํ๋ฃจ์ ํ์น ์ ์๋ ๊ฐ์ฅ ๋ง์ ๋์ ๊ตฌํ๋ ๋ฌธ์ ์
๋๋ค.
7+ *
8+ *
9+ * 2. naive ์๊ณ ๋ฆฌ์ฆ ๋์ถ
10+ *
11+ * - ํ์ฌ ์ง์ ํธ๊ธฐ โ ๋ฐ๋ก ์ด์ ์ง์ ๋ชป ํธ์์ผ๋ฏ๋ก prev2 + ํ์ฌ์ง
12+ * - ํ์ฌ ์ง์ ์ ํธ๊ธฐ โ ์ด์ ๊น์ง์ ์ต๋๊ฐ ์ ์ง prev1
13+ */
14+ class sangyyypark {
15+ public static int rob (int [] nums ) {
16+ if (nums == null || nums .length == 0 ) {
17+ return 0 ;
18+ }
19+ if (nums .length == 1 ) {
20+ return nums [0 ];
21+ }
22+
23+
24+ int prev2 = 0 ; // i-2๋ฒ์งธ ์ง๊น์ง์ ์ต๋ ๊ธ์ก
25+ int prev1 = 0 ; // i-1๋ฒ์งธ ์ง๊น์ง์ ์ต๋ ๊ธ์ก
26+
27+ for (int num : nums ) {
28+ // ํ์ฌ ์ง์ ํธ ๊ฒฝ์ฐ: prev2 + num
29+ // ํ์ฌ ์ง์ ์ ํธ ๊ฒฝ์ฐ: prev1
30+ int current = Math .max (prev1 , prev2 + num );
31+
32+
33+ prev2 = prev1 ;
34+ prev1 = current ;
35+ }
36+
37+ return prev1 ;
38+ }
39+ }
You canโt perform that action at this time.
0 commit comments