function solution(n, k) {
let str = n.toString(k);
str = str.split('0');
let answer = 0;
for (let i=0; i<str.length; i++) {
if (str[i]=='') continue;
let num = parseInt(str[i]);
let jud = true;
if (num==1) jud=false;
for (let i=2; i<Math.sqrt(num); i++) {
if (num%i==0) {
jud=false;
break;
}
}
if (jud==true) answer++;
}
return answer;
}
// console.log(solution(437674, 3))
console.log(solution(110011, 10))
i<Math.sqrt(num)
가 아니라 i<=Math.sqrt(num)
...
자꾸 실수한다.
function solution(n, k) {
let str = n.toString(k);
str = str.split('0');
let answer = 0;
for (let i=0; i<str.length; i++) {
if (str[i]=='') continue;
let num = parseInt(str[i]);
let jud = true;
if (num==1) jud=false;
for (let i=2; i<=Math.sqrt(num); i++) {
if (num%i==0) {
jud=false;
break;
}
}
if (jud==true) answer++;
}
return answer;
}
// console.log(solution(437674, 3))
console.log(solution(110011, 10))
function isPrime(num){
if(!num || num===1) return false;
for(let i=2; i<=+Math.sqrt(num); i++){
if(num%i===0) return false;
}
return true;
}
function solution(n, k) {
// k진법으로 나눈 후 split
const candidates = n.toString(k).split('0');
// 소수 개수 세기
return candidates.filter(v=>isPrime(+v)).length;
}
console.log(solution(930909,10))