https://school.programmers.co.kr/learn/courses/30/lessons/92335?language=java
class Solution {
public static boolean isPrime(long num) {
if (num < 2) return false;
for (long i = 2; i <= Math.sqrt(num); i++) {
if (num % i == 0) return false;
}
return true;
}
public int solution(int n, int k) {
int answer = 0;
String str = Integer.toString(n, k);
StringBuilder stringBuilder = new StringBuilder();
for(char ch : str.toCharArray()){
if(ch == '0'){
if(stringBuilder.length() != 0 && isPrime(Long.parseLong(stringBuilder.toString()))) answer++;
stringBuilder.setLength(0);
}else stringBuilder.append(ch);
}
if(stringBuilder.length() != 0 && isPrime(Long.parseLong(stringBuilder.toString()))) answer++;
return answer;
}
}
핵심은 0을 기준으로 잘라줘야 한다는것.
그래서 ch == '0' 일 때 조건 처리를 시작한다.
