class Solution {
public int solution(int n, int k) {
int count = 0;
String change = Integer.toString(n, k);
String[] temp = change.split("0");
for(String s : temp){
if(s.equals(""))
continue;
if(isPrime(Long.parseLong(s)))
count++;
}
return count;
}
public boolean isPrime(long n){
if(n == 1)
return false;
for (int i = 2; i <= (int)Math.sqrt(n); i++) {
if(n % i == 0)
return false;
}
return true;
}
}
- 바꿀 숫자를 진수와 함께 문자열로 변환
- 0을 기준으로 나눈다.
- 00이면 빈 값으로 들어가서 이 부분을 조건문으로 넘기고
- 소수판별 메서드를 통해 소수인지 확인한다.
- 소수이면 정답++;