https://programmers.co.kr/learn/courses/30/lessons/42839
next_permutation 는 오름차순 정렬되어 있는 배열에 적용 가능하다.
int solution(string numbers) {
int answer = 0;
unordered_set<int> uset;
sort(numbers.begin(), numbers.end());
do {
int num;
for (int i = 1; i <= numbers.size(); i++) {
bool isPrime = true;
num = stoi(numbers.substr(0, i));
if (num < 2) continue;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
isPrime = false;
break;
}
}
if (isPrime == true)
{
answer++;
uset.insert(num);
}
}
} while (next_permutation(numbers.begin(), numbers.end()));
return uset.size();
}