1. 비트 마스킹
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> arr = {1, 2, 3};
int n = arr.size();
// 부분집합의 모든 경우의 수 탐색 -> 0 ~ (2^n-1)
for (int i = 0; i < (1 << n); i++)
{
cout << "{ ";
for (int j = 0; j < n; j++)
{
if (i & (1 << j))
{
cout << arr[j] << " ";
}
}
cout << "}\n";
}
}
'코딩테스트 > 알고리듬' 카테고리의 다른 글
[코딩테스트] 경우의 수 구하기 (0) | 2025.03.04 |
---|---|
[코딩테스트] 자릿수 정렬 (0) | 2025.02.26 |
[코딩테스트] 원형 연속부분수열 합 (0) | 2025.02.26 |
[코딩테스트] value 값을 기준으로 정렬 (0) | 2025.02.25 |
[코딩테스트] 피보나치 수 (0) | 2025.02.18 |