728x90
프로그래머스 1단계
소수찾기 문제를 풀어볼까요?
소수 찾기!
for과 if를 통한 방법입니다.
1. 2부터 소수를 구하고자 하는 구간의 모든 수를 나열한다. 그림에서 회색 사각형으로 두른 수들이 여기에 해당한다.
2. 2는 소수이므로 오른쪽에 2를 쓴다.
3. 자기 자신을 제외한 2의 배수를 모두 지운다.
4. 남아있는 수 가운데 3은 소수이므로 오른쪽에 3을 쓴다.
5. 자기 자신을 제외한 3의 배수를 모두 지운다.
function solution(n) {
let answer = 0;
const arr = new Array(n+1).fill(true);
for(let i = 2; i <= n; ++i){
if(arr[i] === false){
continue;
}
for(let k = i * 2; k <= n; k += i){
arr[k] = false;
}
}
for(let i = 2; i <= n; ++i){
if(arr[i] === true){
answer++;
}
}
return answer;
}
728x90
반응형
'프로그래머스' 카테고리의 다른 글
프로그래머스 1단계 : 콜라 문제! (5) | 2022.12.06 |
---|---|
프로그래머스 1단계 : 2016! (1) | 2022.12.05 |
프로그래머스 1단계 : 이상한 문자 만들기 (1) | 2022.12.05 |
프로그래머스 1단계 : K번째 수! (1) | 2022.12.05 |
프로그래머스 1단계 : 최소직사각형! (1) | 2022.12.05 |
댓글