❗️진법 변환 시 숫자의 길이가 길어질 수 있으므로 double로 처리해줘야 함
class Solution {
public int solution(int n, int k) {
String[] nums = Integer.toString(n, k).split("0");
int count = 0;
for (String num : nums) {
if (!num.equals("") && isPrime(Double.parseDouble(num))) count++;
}
return count;
}
private boolean isPrime(double n) {
if (n == 2) return true;
else if (n <= 1 || n % 2 == 0) return false;
for (int i = 3; i <= n / i; i++) {
if (n % i == 0) return false;
}
return true;
}
}
혹시 최신 알고리즘은 언제...