문제
자연수 N이 주어지면 1부터 N까지의 원소를 갖는 집합의 부분집합을 모두 출력
단, 공집합은 출력하지 않는다.
N이 3이라고 가정하면
{1, 2, 3}, {1, 2}, {1, 3}, {1}, {2, 3}, {2}, {3}
순서대로 출력한다.
재귀 호출의 흐름
풀이 과정
const solutionA = (num) => {
let answer = [];
const visited = Array.from({ length: num + 1 }).fill(0);
const subset = (element) => {
if (element === num + 1) {
let result = '';
for (let i = 0; i < visited.length; i++) {
if (visited[i] === 1) result += i;
}
if (result !== '') answer.push(result);
} else {
visited[element] = 1;
subset(element + 1);
visited[element] = 0;
subset(element + 1);
}
};
subset(1);
return answer;
};
const testA = solutionA(3);
console.log(testA);
틀린 부분이 있거나 보충해야 할 내용이 있다면 댓글이나 DM(sungstonemin)으로 알려주시면 감사하겠습니다😄