본문 바로가기
알고리즘 & 자료구조/프로그래머스

소수찾기

by 신재권 2022. 11. 2.
package programmers;

import java.util.Arrays;

public class 소수찾기 {

   private static boolean[] isPrime;

   public static int solution(int n) {
      isPrime = new boolean[n + 1];
      Arrays.fill(isPrime, true);

      for (int i = 2; i <= Math.sqrt(n); i++) {
         if (isPrime[i]) {
            for (int j = i * i; j <= n; j += i) {
               isPrime[j] = false;
            }
         }
      }
      int answer = 0;
      for (int i = 2; i <= n; i++) {
         if (isPrime[i])
            answer++;
      }
      return answer;
   }

   public static void main(String[] args) {
      System.out.println(solution(1000000));
      System.out.println(solution(5));
   }
   
}

'알고리즘 & 자료구조 > 프로그래머스' 카테고리의 다른 글

실패율  (0) 2022.11.06
소수 만들기  (0) 2022.11.04
모의고사  (0) 2022.11.01
폰켓몬  (0) 2022.11.01
2016년  (0) 2022.11.01