Skip to content

Commit d229ed7

Browse files
committed
combination-sum solved
1 parent 206553e commit d229ed7

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

โ€Žcombination-sum/hsskey.jsโ€Ž

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
/**
2+
* @param {number[]} candidates
3+
* @param {number} target
4+
* @return {number[][]}
5+
*/
6+
var combinationSum = function(candidates, target) {
7+
const result = []
8+
function backtrack(start, curr, sum) {
9+
// ํ˜„์žฌ ํ•ฉ๊ณ„๊ฐ€ ํƒ€๊ฒŸ๊ณผ ๊ฐ™์œผ๋ฉด ๊ฒฐ๊ณผ์— ์ถ”๊ฐ€
10+
if(sum === target) {
11+
result.push([...curr])
12+
}
13+
14+
// ํ•ฉ๊ณ„๊ฐ€ ํƒ€๊ฒŸ์„ ์ดˆ๊ณผํ•˜๋ฉด ๋” ์ด์ƒ ์ง„ํ–‰ํ•˜์ง€ ์•Š์Œ
15+
if(sum > target) {
16+
return
17+
}
18+
19+
// ํ˜„์žฌ ์ธ๋ฑ์Šค๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์—ฌ ๋ชจ๋“  ํ›„๋ณด๋ฅผ ์‹œ๋„
20+
for(let i = start; i < candidates.length; i++) {
21+
curr.push(candidates[i])
22+
// ๊ฐ™์€ ์ˆซ์ž๋ฅผ ์—ฌ๋Ÿฌ ๋ฒˆ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ i๋ถ€ํ„ฐ ๋‹ค์‹œ ์‹œ์ž‘
23+
backtrack(i, curr, sum + candidates[i])
24+
curr.pop()
25+
}
26+
}
27+
backtrack(0, [], 0)
28+
return result
29+
};

0 commit comments

Comments
ย (0)