#include <string>
#include <vector>
#include <set>
#include <iostream>
using namespace std;
vector<bool> visited;
string originNums;
set<int> candidates;
bool isPrime(int n)
{
if (n == 0 || n == 1)
return false;
// 2 ~ n-1
for (int x = 2; x < n; ++x)
if (n % x == 0)
return false;
return true;
}
void getAllPapers(string& curN, int prevIdx)
{
if (curN.size() != 0)
{
candidates.insert(stoi(curN));
if (curN.size() == visited.size())
return;
}
for (int i = 0; i < visited.size(); ++i)
{
if (visited[i])
continue;
visited[i] = true;
curN.push_back(originNums[i]);
getAllPapers(curN, i);
curN.pop_back();
visited[i] = false;
}
}
int solution(string numbers)
{
string curNum;
int answer = 0;
originNums = numbers;
visited.resize(originNums.size());
for (int i = 0; i < visited.size(); ++i)
visited[i] = false;
getAllPapers(curNum, -1);
for (const int& cand : candidates)
{
if (isPrime(cand) == false)
continue;
// cout << cand << endl;
answer += 1;
}
return answer;
}
https://school.programmers.co.kr/learn/courses/30/lessons/42839#
'CodingTest > 99클럽2024스터디' 카테고리의 다른 글
99클럽 코테 스터디 21일차 TIL, 프로그래머스 / 정수 삼각형 (0) | 2024.08.11 |
---|---|
99클럽 코테 스터디 16일차 TIL, 프로그래머스 / N Queen (0) | 2024.08.07 |
99클럽 코테 스터디 14일차 TIL, 프로그래머스 / 징검다리 (0) | 2024.08.04 |
99클럽 코테 스터디 13일차 TIL, 프로그래머스 / 입국심사 (0) | 2024.08.03 |
99클럽 코테 스터디 12일차 TIL, 백준 / 뉴스 전하기 (0) | 2024.08.03 |