본문 바로가기
Beakjoon&프로그래머스/Java

[프로그래머스/Java] 소수 찾기

by 현장 2025. 2. 26.

-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();
    }
}

에라토스테네스의 채를 중간 중간 까먹어서 이전에 정리 했던 것을 조금 참고해 작성했습니다.