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. 소수 판별
'Algorithm > PGMS' 카테고리의 다른 글
PGMS - 여행경로 (0) | 2022.01.20 |
---|---|
PGMS - 모음 사전 (0) | 2022.01.17 |
PGMS - 아이템줍기 (0) | 2022.01.17 |
PGMS - 피로도 (0) | 2022.01.14 |
PGMS - 소수찾기 (0) | 2022.01.13 |