본문으로 바로가기

PGMS - k진수에서 소수 개수 구하기

category Algorithm/PGMS 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. 소수 판별

'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