Algorithm/PGMS
PGMS - k진수에서 소수 개수 구하기
강에 뜨는 달
2022. 1. 20. 22:11
https://programmers.co.kr/learn/courses/30/lessons/92335
코딩테스트 연습 - k진수에서 소수 개수 구하기
문제 설명 양의 정수 n이 주어집니다. 이 숫자를 k진수로 바꿨을 때, 변환된 수 안에 아래 조건에 맞는 소수(Prime number)가 몇 개인지 알아보려 합니다. 0P0처럼 소수 양쪽에 0이 있는 경우 P0처럼 소
programmers.co.kr
function solution(n, k) {
var answer = 0;
let arr = [];
while(n){
let rest = n%k;
arr.push(rest);
n= (n-rest)/k;
}
arr = arr.reverse().join('').split('0').filter(item=>item!='');
arr.forEach((item)=>{
if(item!=1){
let flag = 0;
for(let i = 2; i <=Math.sqrt(item); i++){
if(item%i==0){
flag = 1;
break;
}
}
if(flag==0)
answer++;
}
})
return answer;
}
조건이 어려워보이지만, 0이 들어간 것들을 기준으로 나누어준다면 된다는 간단한 뜻이다.
1. K진수 변환
2. 0을 기준으로 나누고 빈 배열인 경우는 제거
3. 소수 판별