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 <sstream>
#include <cmath>
using namespace std;
bool sosu(long long n) {
if (n == 1) return false;
if (n != 2 && n % 2 == 0) return false;
for (int i = 3; i <= sqrt(n); i++) {
if (n % i == 0) return false;
}
return true;
}
int solution(int n, int k) {
int answer = 0;
string numbers = "", tmp;
while (n) {
numbers = to_string(n % k) + numbers;
n /= k;
}
stringstream ss(numbers);
while (getline(ss, tmp, '0')) {
if (tmp.size() > 0 && sosu(stol(tmp))) answer++;
}
return answer;
}
자료형을 잘 생각하자
'전공공부 > 코딩테스트' 카테고리의 다른 글
(c++) 프로그래머스 "숫자의 표현" (0) | 2022.04.27 |
---|---|
(c++) 백준 "2605) 줄세우기" (0) | 2022.04.26 |
(c++) 백준 "2116) 주사위 쌓기" (0) | 2022.04.25 |
(c++) 프로그래머스 "주차요금계산" (0) | 2022.04.25 |
(c++) 프로그래머스 "2628) 종이자르기" (0) | 2022.04.24 |