Loading...
본문 바로가기
👥
총 방문자
📖
0개 이상
총 포스팅
🧑
오늘 방문자 수
📅
0일째
블로그 운영

여러분의 방문을 환영해요! 🎉

다양한 개발 지식을 쉽고 재미있게 알려드리는 블로그가 될게요. 함께 성장해요! 😊

PS/프로그래머스

[프로그래머스][브루트 포스] k진수에서 소수 개수 구하기

by 꽁이꽁설꽁돌 2025. 10. 1.
728x90
반응형
     

목차

     

    문제

    https://school.programmers.co.kr/learn/courses/30/lessons/92335

     

    프로그래머스

    SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

    programmers.co.kr

     

     

    코드 구현 방향

    전에 모든 약수를 구할때 i*i까지 순회하여 루트 시간복잡도로 시간을 단축한 기억이 있어서 쉽게 풀었다.

    조건을 쉽게 이해해 보면 문자열을 0을 기준으로 쪼개서 모든 수를 탐색해 보라는 것이었다.

     

     

    코드 구현

    
    function solution(n, k) {
        var answer = 0;
        let str = convert(n, k);
        let arr = str.split("0").map(Number);
    
        arr.forEach((item)=>{
            if(judge(item))answer++;
        })
        
        return answer;
    }
    
    
    function judge(num){
        if(num === 1 || num===0)return false;
        if(num === 2 || num === 3 || num === 5 || num === 7) return true;
        for(let i=2; i*i<=num; i++){
            if(num % i === 0)
                return false;
        }
        return true;
    }
    
    
    function convert(num, dv){
        let arr = [];
        let str ="";
        while(num >0){
            arr.push(num%dv);
            num = Math.floor(num/dv);
        }
        arr.reverse().forEach((item)=>str+=item);
        return str;
    }
    반응형