문제 설명
해결과정
Solution.java
import java.util.*;
class Solution {
Deque<String> deque = new ArrayDeque<>();
int answer = 0;
public int solution(int n, int k) {
// 정수 n을 k진수로 변환
String kNumber = Integer.toString(n, k);
System.out.println(kNumber);
kNumberSubString(kNumber);
return answer;
}
// 바꾼 k진수에서 0이 포함되지 않게 수를 나눈다.
public void kNumberSubString(String num) {
// subString을 하기 위해 체크
int start = 0;
// num 배열을 돌면서 0인 문자열을 찾는다.
String[] nums = num.split("0");
for(String n : nums) {
if(!n.equals("")) {
long cnt = Long.parseLong(n);
if(isPrime(cnt)) {answer++;}
}
}
}
// n이 소수인가?
public static boolean isPrime(long n) {
if (n <= 1) {
return false;
}
for (long i = 2; i * i <= n; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
}
Java
복사