반응형
https://school.programmers.co.kr/learn/courses/30/lessons/42839
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
visit, prime 배열 arr로 전역 초기화 안되고, size 작게 해줘서 터지는거 잡느라 스트레스 엄청 받았다... 다신 이러지 않을 것.
#include <string>
#include <vector>
#include <iostream>
using namespace std;
// bool prime[1000000] = { true }; // 초기화가 안되잖아
// bool visit[1000000] = { false };
// bool visitIdx[8] = { false };
vector<bool> prime(10000000,true);
vector<bool> visit(10000000, false);
vector<bool> visitIdx(8,false);
int nSize, res = 0;
string num;
void dfs(string s) {
if (s != "") {
int curNum = stoi(s);
if (visit[curNum] == false) { // 아직 접근 안한값이면
visit[curNum] = true;
if (prime[curNum] == true) // 소수이면
res++;
}
}
for (int i = 0; i < nSize; i++) {
if (visitIdx[i] == false) {
visitIdx[i] = true;
dfs(s + num[i]);
visitIdx[i] = false;
}
}
}
int solution(string numbers) {
nSize = numbers.size();
num = numbers;
prime[0] = false;
prime[1] = false;
for (int i = 2; i * i < 10000000; i++) // 에라토스테네스의 체
if (prime[i])
for (int j = i * i; j < 10000000; j += i)
prime[j] = false;
dfs("");
return res;
}
반응형
'<algorithm> > 프로그래머스' 카테고리의 다른 글
프로그래머스 등굣길 c++ (1) | 2023.11.03 |
---|---|
프로그래머스 단속카메라 c++ (0) | 2023.09.24 |
프로그래머스 스킬트리 c++ (0) | 2023.09.08 |
프로그래머스 PCCP모의고사 1회 3번 유전법칙 c++ (0) | 2023.09.08 |
프로그래머스 PCCP모의고사 1회 2번 체육대회 c++ (0) | 2023.09.06 |