File tree Expand file tree Collapse file tree 1 file changed +22
-4
lines changed Expand file tree Collapse file tree 1 file changed +22
-4
lines changed Original file line number Diff line number Diff line change 1010# **dp[i] = max(dp[i-1], dp[i-2] + nums[i])**
1111# nums ๊ธธ์ด๊ฐ 2์ธ ๊ฒฝ์ฐ range(2, 2)๋ for๋ฌธ ์ ๋๋ค.
1212
13+ from typing import List
14+
1315class Solution :
1416 def rob (self , nums : List [int ]) -> int :
15- if not nums : return 0
16- if len ( nums ) == 1 : return nums [0 ]
17-
17+ if len ( nums ) == 1 :
18+ return nums [0 ]
19+
1820 dp = [0 ] * len (nums )
1921 dp [0 ] = nums [0 ]
2022 dp [1 ] = max (nums [0 ], nums [1 ])
2123
2224 for i in range (2 , len (nums )):
23- dp [i ] = max (dp [i - 1 ], nums [ i ] + dp [ i - 2 ])
25+ dp [i ] = max (dp [i - 1 ], dp [ i - 2 ] + nums [ i ])
2426
2527 return dp [- 1 ]
2628
29+ """
30+ ๊ณต๊ฐ ์ต์ ํ ํ์ด
31+
32+ prev2: i-2๊น์ง์ ์ต๋๊ฐ + ํ์ฌ ๋
33+ prev1: i๋ฒ์งธ ์ง ์ ํธ๊ณ , ์ด์ ๊น์ง์ ์ต๋๊ฐ ์ ์ง
34+
35+ TC: O(n)
36+ SC: O(1)
37+ """
38+ class Solution :
39+ def rob (self , nums : List [int ]) -> int :
40+ prev2 , prev1 = 0 , 0
41+ for num in nums :
42+ prev2 , prev1 = prev1 , max (prev1 , prev2 + num )
43+ return prev1
44+
2745
2846# TS ์ฝ๋
2947# function rob(nums: number[]): number {
You canโt perform that action at this time.
0 commit comments