uploaded at 2023. 1. 4. 오후 8:56:15
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
// [문제 링크]: https://school.programmers.co.kr/learn/courses/30/lessons/92335
|
||||
|
||||
import java.lang.StringBuilder;
|
||||
class Solution {
|
||||
private String trans(int n, int k){
|
||||
StringBuilder sb = new StringBuilder();
|
||||
while(n>k){
|
||||
sb.append(n%k);
|
||||
n = n/k;
|
||||
}
|
||||
sb.append(n);
|
||||
return sb.reverse().toString();
|
||||
}
|
||||
private boolean isPrime(Double i){
|
||||
int temp = 0;
|
||||
//System.out.println(i+"가 들어왔다 체크하자.");
|
||||
for(Double a = 1D; a <= Math.sqrt(i); a++){
|
||||
if(i%a==0) temp++;
|
||||
if(temp>1) break;
|
||||
}
|
||||
return (i!=1&&temp==1);
|
||||
}
|
||||
|
||||
private int chkPrm(String s){
|
||||
int temp, ans = 0;
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for(char a : s.toCharArray()){
|
||||
temp = Character.getNumericValue(a);
|
||||
if(temp != 0) sb.append(temp);
|
||||
else {
|
||||
if(sb.length()>0 && isPrime(Double.parseDouble(sb.toString()))) ans++;
|
||||
//System.out.println(sb);
|
||||
sb.setLength(0);
|
||||
}
|
||||
}
|
||||
if(sb.length()!=0){
|
||||
if(sb.length()>0 && isPrime(Double.parseDouble(sb.toString()))) ans++;
|
||||
//System.out.println(sb);
|
||||
sb.setLength(0);
|
||||
}
|
||||
return ans;
|
||||
}
|
||||
|
||||
public int solution(int n, int k) {
|
||||
int answer = -1;
|
||||
String t = trans(n,k);
|
||||
//System.out.println(t);
|
||||
return chkPrm(t);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user