소수: 1과 자기 자신 외에는 나누어 떨어지는 정수가 없는 양의 정수
function solution9(num) {
let answer = new Array(num + 1).fill(true);
for (let i = 2; i <= num; i++) {
// true이면
if (answer[i]) {
for (let j = i + i; j <= num; j += i) {
console.log(j); // i가 2일때 - 4 6 8 10 / i가 3일때 - 6 9 / i가 5일때 - 10이 차례로 false처리됨
answer[j] = false;
}
}
}
let result = 0;
for (let i = 0; i < answer.length; i++) {
if (answer[i]) {
// true일 경우에만 result 개수 증가
result += 1;
}
}
return result - 2;
// -2를 하는 이유: answer array에서 0 과 1 두개의 값은 버리는 값이므로 제거
}
console.log(solution9(10)); // 4
console.log(solution9(5)); // 3