Skip to content

Commit a1cf1ea

Browse files
authored
Merge pull request #83 from AlgorithmIsMyLife/jiho-24
[Daily 24] Jiho 2Q
2 parents f2d320b + 8f9c88f commit a1cf1ea

File tree

2 files changed

+50
-0
lines changed

2 files changed

+50
-0
lines changed
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
var combinationSum = function (candidates, target) {
2+
const len = candidates.length;
3+
let answer = [];
4+
let accumulate = [];
5+
function backtracking(remain, arr, index) {
6+
if (remain === 0) {
7+
answer.push(arr);
8+
return;
9+
}
10+
if (index < 0) {
11+
return;
12+
}
13+
const val = candidates[index];
14+
const q = Math.floor(remain / val); // q번 만큼 backtracking 해야함
15+
16+
for (let i = q; i >= 0; i--) {
17+
const new_arr = [...arr];
18+
for (let j = 0; j < i; j++) {
19+
new_arr.push(val);
20+
}
21+
22+
backtracking(remain - i * val, new_arr, index - 1);
23+
}
24+
}
25+
26+
backtracking(target, accumulate, len - 1);
27+
return answer;
28+
};
29+
30+
console.log(combinationSum([2], 1));

Jiho/Day24/Leetcode_78. Subsets.js

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
var subsets = function (nums) {
2+
let accumulate = [];
3+
let answer = [];
4+
function backtracking(arr, index) {
5+
// 마지막
6+
if (index === nums.length) {
7+
answer.push(arr);
8+
return;
9+
}
10+
const cpy = [...arr];
11+
backtracking(cpy, index + 1);
12+
arr.push(nums[index]);
13+
backtracking(arr, index + 1);
14+
}
15+
backtracking(accumulate, 0);
16+
17+
return answer;
18+
};
19+
20+
console.log(subsets([1, 2, 3]));

0 commit comments

Comments
 (0)