https://programmers.co.kr/learn/courses/30/lessons/92335
코딩테스트 연습 - k진수에서 소수 개수 구하기
문제 설명 양의 정수 n이 주어집니다. 이 숫자를 k진수로 바꿨을 때, 변환된 수 안에 아래 조건에 맞는 소수(Prime number)가 몇 개인지 알아보려 합니다. 0P0처럼 소수 양쪽에 0이 있는 경우 P0처럼 소
programmers.co.kr
#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 |