SPACE RUMI

Hi, I am rumi. Let's Splattack!

[IT] 프로덕트 개발/Coding Test - 코딩테스트

[LV1] 소수 찾기 / Math.sqrt() 제곱근 활용

백루미 2022. 11. 24. 17:39
반응형

프로그래머스 LV1 > 연습문제 > 소수 찾기

문제 : https://school.programmers.co.kr/learn/courses/30/lessons/12921

[문제해결]
1. 매개변수 n의 제곱근을 이용해 접근 (시간복잡도 O(N)이라 가장 빠름)
2. 반복문 돌려서 소수 판단하여 갯수를 리턴한다.

 

function solution(n) {
    let primeList = []
    const isPrime = (num) => { // 제곱근을 이용해 소수인지 판단하는
        if(num < 2) return false;
        if(num == 2) return true;
        for(let i=2; i <= Math.floor(Math.sqrt(num)); i++){
            if(num % i == 0) return false;            
        }
        return true;
    }
    while (n !== 0){ // 매개변수가 0될때까지 소수 체크해서 primeList에 넣음
        if(isPrime(n)){
            primeList.push(n)
        }
        n--
    }
    return primeList.length; // 개수리턴
}

 

약수, 소수 찾기는 너무 단골문제라 딱히 어렵진않았다.

반응형

'[IT] 프로덕트 개발 > Coding Test - 코딩테스트' 카테고리의 다른 글

[LV0] 종이 자르기  (0) 2022.11.26
[LV0] 다음에 올 숫자  (0) 2022.11.25
[LV1] 숫자 짝꿍  (0) 2022.11.24
[LV0] 숨어있는 숫자의 덧셈(2)  (0) 2022.11.23
[LV1] 체육복  (0) 2022.11.23