File tree Expand file tree Collapse file tree 1 file changed +27
-0
lines changed
Expand file tree Collapse file tree 1 file changed +27
-0
lines changed Original file line number Diff line number Diff line change 1+ from typing import List
2+
3+
4+ class Solution :
5+ def rob (self , nums : List [int ]) -> int :
6+ """
7+ - Idea: i๋ฒ์งธ ์ง๊น์ง์ ์ต๋ ๊ธ์ก์ ๋ ๊ฐ์ง ์ค ๋ ํฐ ๊ฐ์ผ๋ก ๊ฒฐ์ ๋๋ค.
8+ 1. (i-2๋ฒ์งธ ์ง๊น์ง์ ์ต๋ ๊ธ์ก) + i๋ฒ์งธ ์ง์ ๊ธ์ก
9+ 2. (i-1๋ฒ์งธ ์ง๊น์ง์ ์ต๋ ๊ธ์ก)
10+ ์ด๋ฅผ ์ด์ฉํด ๋์ ํ๋ก๊ทธ๋๋ฐ์ผ๋ก ๊ฐ ์ง๊น์ง์ ์ต๋ ๊ธ์ก์ ๊ณ์ฐํ๋ค.
11+ ์ค๊ฐ ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํ ๋ฐฐ์ด์ ๋ง๋ค๊ณ ์์ฐจ์ ์ผ๋ก ๊ฐ์ ์ฑ์ฐ๋ฉด, ๋งจ ๋ง์ง๋ง ๊ฐ์ด ์ ์ฒด ์ต๋ ๊ธ์ก์ด ๋๋ค.
12+ - Time Complexity: O(n). n์ ์ง์ ๊ฐ์.
13+ ๋ชจ๋ ์ง์ ํ๋ฒ์ฉ ์ํํด์ผ ํ๋ฏ๋ก O(n) ์๊ฐ์ด ๊ฑธ๋ฆฐ๋ค.
14+ - Space Complexity: O(n). n์ ์ง์ ๊ฐ์.
15+ ๊ฐ ์ง๊น์ง์ ์ต๋ ๊ธ์ก์ ์ ์ฅํ๊ธฐ ์ํด ๋ฐฐ์ด์ ์ฌ์ฉํ๋ฏ๋ก O(n) ๋งํผ์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ํ์ํ๋ค.
16+ """
17+ if len (nums ) == 1 :
18+ return nums [0 ]
19+
20+ dp = [0 ] * len (nums )
21+ dp [0 ] = nums [0 ]
22+ dp [1 ] = max (nums [0 ], nums [1 ])
23+
24+ for i in range (2 , len (nums )):
25+ dp [i ] = max (dp [i - 1 ], dp [i - 2 ] + nums [i ])
26+
27+ return dp [- 1 ]
You canโt perform that action at this time.
0 commit comments