#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#
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
'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 |