File tree Expand file tree Collapse file tree 1 file changed +6
-9
lines changed Expand file tree Collapse file tree 1 file changed +6
-9
lines changed Original file line number Diff line number Diff line change @@ -5,27 +5,24 @@ const combinationSum = function (candidates, target) {
5
5
const dfs = function ( candidate , sum ) {
6
6
if ( sum > target ) return ;
7
7
8
- path . push ( candidate ) ;
8
+ if ( sum !== 0 ) path . push ( candidate ) ;
9
9
10
10
if ( sum === target ) {
11
- result . push ( [ ...path ] ) ; //그냥 path 넣어주면 뒤에서 path 바뀔 때 result에 들어간 path도 같이 바뀜
11
+ result . push ( [ ...path ] ) ;
12
12
path . pop ( ) ;
13
13
return ;
14
14
}
15
15
16
16
for ( let i = 0 ; i < candidates . length ; i ++ ) {
17
- if ( candidates [ i ] >= candidate )
18
- //작은 애들 더해주는 건 이미 앞에서 했을 것이므로 큰 애들만 더해주면 됨
19
- dfs ( candidates [ i ] , sum + candidates [ i ] ) ;
17
+ if ( candidates [ i ] >= candidate ) dfs ( candidates [ i ] , sum + candidates [ i ] ) ;
20
18
}
21
19
22
20
path . pop ( ) ;
23
21
} ;
24
22
25
- for ( let i = 0 ; i < candidates . length ; i ++ ) {
26
- //맨 처음에는 candidate이 없기 때문에 초기 조건 세팅할 때 candidate 넣어줘야 함
27
- dfs ( candidates [ i ] , candidates [ i ] ) ;
28
- }
23
+ dfs ( 0 , 0 ) ;
29
24
30
25
return result ;
31
26
} ;
27
+
28
+ console . log ( combinationSum ( [ 2 , 3 , 5 ] , 8 ) ) ;
You can’t perform that action at this time.
0 commit comments