programmers_타겟 넘버_java

2023. 4. 6. 14:05Algorithm/Programmers

728x90

https://school.programmers.co.kr/learn/courses/30/lessons/92335#

import java.util.*;

class Solution {
    public int solution(int n, int k) {
        int answer = 0;
        
        long[] tmp = Arrays.stream(transfer(n, k).replaceAll("0+", "0").split("0")).mapToLong(Long::parseLong).toArray();

        int tmpLength = tmp.length;
        Arrays.sort(tmp);        
        
        for(long i : tmp){
            if(isPrime(i)) {
                answer++;
            }
        }
        
        return answer;
    }
    
    public String transfer(int n,int k){
        String tmp = "";
        
        while(n>0){
            tmp = n%k + tmp;
            n = n/k;
        }
        
        return tmp;
    }
    
    public boolean isPrime(long num){
        if(num == 1 || num==0) return false;
        
        for(long i = 2; i<=Math.sqrt(num); i++){
            if(num%i == 0){
                return false;
            }
        }
        
        return true;
    }
}