-Code
import java.util.*;
import java.util.stream.IntStream;
class Solution {
public int solution(int n) {
List<Boolean> seive = new ArrayList<>();
for (int i = 0; i <= n; i++) seive.add(true);
for (int i = 2; i <= Math.sqrt(n); i++) {
if (seive.get(i)){
for (int j = i + i; j <= n; j = j + i) {
seive.set(j, false);
}
}
}
return (int) IntStream.rangeClosed(2, n)
.filter(i -> seive.get(i))
.count();
}
}
에라토스테네스의 채를 중간 중간 까먹어서 이전에 정리 했던 것을 조금 참고해 작성했습니다.
'Beakjoon&프로그래머스 > Java' 카테고리의 다른 글
[프로그래머스/Java] 실패율 (0) | 2025.02.27 |
---|---|
[프로그래머스/Java] 소수 만들기 (0) | 2025.02.27 |
[프로그래머스/Java] 덧칠하기 (0) | 2025.02.26 |
[프로그래머스/Java] 과일 장수 (0) | 2025.02.26 |
[프로그래머스/Java] 모의고사 (0) | 2025.02.26 |