반응형
프로그래머스 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 |