- k진수로 바꿈(toString)
- 0을 기준으로 배열을 나눈다.
-> 빈공간 or 1인 것을 제거- 나눈 배열에서 소수찾기
-> 소수이면 answer++
function solution(n, k) {
var answer = 0;
//k진수로 바꿈.
var changeN = n.toString(k);
var splitArr = changeN.toString().split("0").filter(element=>element!==""&&element!=="1");;
splitArr.forEach(element=>{
for(var i =2; i<=Math.sqrt(element);i++){
if(element%i===0) return;
}
answer++;
})
return answer;
}
이번 문제는 기존 문제보단 쉬웠다. 그나마 고려해야 될 점이라면, 소수를 찾을때 최대한 시간복잡도를 낮출 수 있는 방법으로 구한다 정도? 만 고려하면 쉽게 풀 수 있을 것이다.