카테고리 없음
프로그래머스 K진수에서 소수 개수 구하기 (JAVA)
왕구스
2022. 1. 24. 22:38
2022 KAKAO BLIND RECRUITMENT > K진수에서 소수 개수 구하기
https://programmers.co.kr/learn/courses/30/lessons/92335
코딩테스트 연습 - k진수에서 소수 개수 구하기
문제 설명 양의 정수 n이 주어집니다. 이 숫자를 k진수로 바꿨을 때, 변환된 수 안에 아래 조건에 맞는 소수(Prime number)가 몇 개인지 알아보려 합니다. 0P0처럼 소수 양쪽에 0이 있는 경우 P0처럼 소
programmers.co.kr
https://tech.kakao.com/2022/01/14/2022-kakao-recruitment-round-1/
2022 카카오 신입공채 1차 온라인 코딩테스트 for Tech developers 문제해설
지난 2021년 9월 11일 토요일 오후 2시부터 7시까지 5시간 동안 2022 KAKAO BLIND RECRUITMENT 1차 코딩 테스트가 진행되었습니다. 테스트에는 총 7개의 문제가 출제되었으며, 개발 언어는 C++, Java, JavaScript, K
tech.kakao.com
문제에 대한 해설은 카카오 신입공채 테크블로그의 해설이 워낙 잘 설명되어 있으므로, 이 글로 대체하겠습니다.
static Function<String, Long> stol = Long::parseLong;
public static int solution(int n, int k) {
String binaryString = Integer.toString(n, k);
StringTokenizer st = new StringTokenizer(binaryString, "0");
int cnt = 0;
while (st.hasMoreTokens()) {
long num = stol.apply(st.nextToken());
if (isPrime(num)) {
cnt++;
}
}
return cnt;
}
private static boolean isPrime(long n) {
if (n == 1) {
return false;
}
for (int i = 2; (long) i * i <= n; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}