Skip to content

Commit ee47e47

Browse files
committed
combinationsSum solution
1 parent 83f3bbb commit ee47e47

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
function combinationSum(candidates, target) {
2+
const result = [];
3+
4+
// 1. ์ •๋ ฌ: ๊ฐ€์ง€์น˜๊ธฐ๋ฅผ ์œ„ํ•œ ํ•„์ˆ˜
5+
candidates.sort((a, b) => a - b);
6+
7+
function backtrack(startIndex, path, remaining) {
8+
if (remaining === 0) {
9+
result.push([...path]);
10+
return;
11+
}
12+
13+
for (let i = startIndex; i < candidates.length; i++) {
14+
const current = candidates[i];
15+
16+
// 2. ๊ฐ€์ง€์น˜๊ธฐ
17+
if (current > remaining) break;
18+
19+
// 3. ํ˜„์žฌ ๊ฐ’ ์„ ํƒ
20+
path.push(current);
21+
backtrack(i, path, remaining - current); // i๋กœ ์žฌ๊ท€ ํ˜ธ์ถœ: ๊ฐ™์€ ์ˆ˜ ์ค‘๋ณต ์‚ฌ์šฉ ๊ฐ€๋Šฅ
22+
path.pop(); // 4. ๋ฐฑํŠธ๋ž˜ํ‚น
23+
}
24+
}
25+
26+
backtrack(0, [], target);
27+
return result;
28+
}

0 commit comments

Comments
ย (0)