Bitmask 기법
은 이진수 연산을 이용하여 집합을 표현하는 기법 중 하나입니다. 이를 이용하면 집합에 속하는 원소들을 쉽게 체크하거나 추가/삭제할 수 있습니다. 이진수 연산을 이용하여 집합을 검색하거나 연산할 수 있습니다. 예를 들어, 두 집합 A와 B가 주어졌을 때, A와 B의 합집합을 구하려면 A와 B의 이진수를 OR 연산하면 됩니다.
const n = 5;
const arr = [1, 2, 3, 4, 5];
for (let i = 0; i < (1 << n); i++) {
let subset = [];
for (let j = 0; j < n; j++) {
if (i & (1 << j)) {
subset.push(arr[j]);
}
}
console.log(subset);
}