File tree Expand file tree Collapse file tree 1 file changed +32
-0
lines changed Expand file tree Collapse file tree 1 file changed +32
-0
lines changed Original file line number Diff line number Diff line change
1
+ // 1번풀이 (brute force)
2
+ // function rob(nums: number[]): number {
3
+ // const n = nums.length;
4
+ // if (n === 1) return nums[0];
5
+ // if (n === 2) return Math.max(nums[0], nums[1]);
6
+
7
+ // const dp: number[] = [];
8
+ // dp[0] = nums[0];
9
+ // dp[1] = Math.max(nums[0], nums[1]);
10
+
11
+ // for (let i = 2; i < n; i++) {
12
+ // dp[i] = Math.max(dp[i - 1], dp[i - 2] + nums[i]);
13
+ // }
14
+
15
+ // return dp[n - 1];
16
+ // }
17
+
18
+ // 2번풀이 (dp)
19
+ function rob ( nums : number [ ] ) : number {
20
+ if ( nums . length <= 1 ) return nums [ 0 ] ?? 0 ;
21
+
22
+ const dp : number [ ] = [ ] ;
23
+ dp [ 0 ] = nums [ 0 ] ;
24
+ dp [ 1 ] = Math . max ( nums [ 0 ] , nums [ 1 ] ) ;
25
+
26
+ for ( let i = 2 ; i < nums . length ; i ++ ) {
27
+ dp [ i ] = Math . max ( dp [ i - 1 ] , dp [ i - 2 ] + nums [ i ] ) ;
28
+ }
29
+
30
+ return dp [ nums . length - 1 ] ;
31
+ }
32
+
You can’t perform that action at this time.
0 commit comments