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();
}