forked from onlybooks/java-algorithm-interview
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathP97_4.java
34 lines (30 loc) · 1.03 KB
/
P97_4.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package ch24;
public class P97_4 {
// 소수 여부 판별 메소드
public boolean isPrime(long num) {
// 1은 소수가 아니며, 2이상인데 2로 나눠지면 소수가 아니므로 미리 처리
if (num == 1 || (num > 2 && num % 2 == 0))
return false;
// 3부터 차례대로 나눠지는지 확인
for (int i = 3; i <= (int) Math.sqrt(num); i += 2) {
if (num % i == 0)
return false;
}
return true;
}
public int solution(int n, int k) {
// k 진수 문자열로 변환
String str = Integer.toString(n, k);
// 0을 기준으로 구분하여 각각 소수 여부 처리
int answer = 0;
for (String s : str.split("0")) {
// 00인 경우 빈 값이 될 수 있으므로 예외 처리
if (s.equals(""))
continue;
// 소수인 경우 정답 +1
if (isPrime(Long.parseLong(s)))
answer++;
}
return answer;
}
}