코딩테스트 연습 - 소수 찾기
1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다.) 제한 조건 n은 2이상
programmers.co.kr
배운점 && 문제 풀이
에라토스테네스의 체를 다시한번 상기시켰다.
function solution(n) {
var answer = 0;
let arr = new Array(n + 1).fill(true);
for (let i = 2; i <= Math.floor(Math.sqrt(n)); i++) {
if (!arr[i]) continue;
for (let j = i * i; j <= n; j += i) {
arr[j] = false;
}
}
for (let i = 2; i <= n; i++) {
if (arr[i]) answer += 1;
}
return answer;
}
'공부기록 > 자바스크립트 코딩테스트' 카테고리의 다른 글
[프로그래머스/JS] 문자열 내 마음대로 정렬하기 (0) | 2022.06.21 |
---|---|
[프로그래머스/JS] 문자열 다루기 기본 (0) | 2022.06.21 |
[프로그래머스/JS] 문자열을 정수로 바꾸기 (0) | 2022.06.21 |
[프로그래머스/JS] 시저 암호 (0) | 2022.06.21 |
[프로그래머스/JS] 이상한 문자 만들기 (0) | 2022.06.21 |