k진수에서 소수 개수 구하기
이 문제는 1이 소수가 아니라는것
그렇다면 0으로 구분지으면 풀 수 있는 문제라는 생각이 들었다
그래서 글자로 바꿔서 0으로 split("0") 으로 분할해주고 소수판별해서 풀었다
import java.util.*;
class Solution {
public int solution(int n, int k) {
List<Integer> list = new ArrayList<>();
while(n>=k){
list.add(n%k);
n/=k;
}
list.add(n);
Collections.reverse(list);
StringBuilder sb = new StringBuilder();
for(int i : list){
sb.append(i);
}
String[] num = sb.toString().split("0");
int answer = 0;
for(String ele : num){
if(ele.isEmpty()==false && isPrime(ele))
answer++;
}
return answer;
}
public boolean isPrime(String num){
long n = Long.parseLong(num);
if(n < 2)
return false;
for(Long i = 2L; i <= Math.sqrt(n); ++i){
if(n%i == 0)
return false;
}
return true;
}
}