https://programmers.co.kr/learn/courses/30/lessons/92335
#include <string>
#include <vector>
#include <cmath>
#include <algorithm>
using namespace std;
bool ischeck(long long num) {
if (num < 2) return false;
for (int i = 2; i <= sqrt(num); i++) {
if (num%i == 0) return false;
}
return true;
}
int solution(int n, int k) {
int answer = 0;
string value;
while (n) {
value += to_string(n%k);
n = n / k;
}
string prime;
for (int i = 0; i < value.size(); i++) {
if ((value[i] == '0') && prime.size()>0) {
reverse(prime.begin(), prime.end());
if (ischeck(stoll(prime))) answer++;
prime = "";
}
else if(value[i] != '0')
prime += value[i];
}
if (prime.size() > 0) {
reverse(prime.begin(), prime.end());
if (ischeck(stoll(prime))) answer++;
}
return answer;
}
'프로그래머스' 카테고리의 다른 글
외벽 점검 C++ (0) | 2022.02.21 |
---|---|
신고 결과 받기 C++ (0) | 2022.02.19 |
양궁대회 C++ (0) | 2022.02.19 |
주차 요금 계산 C++ (0) | 2022.02.18 |
파괴되지 않은 건물 C++ (0) | 2022.02.15 |