본문 바로가기
프로그래밍/알고리즘 풀이

[알고리즘] 백준 1978번 소수찾기 Java 자바

by 방구석개발자 2021. 5. 16.
반응형

https://www.acmicpc.net/problem/1978

 

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) throws Exception{
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        int N=Integer.parseInt(br.readLine());
        StringTokenizer strToken=new StringTokenizer(br.readLine()," ");
        int result=0;
        for(int i=0;i<N;i++){
            int a=Integer.parseInt(strToken.nextToken());
            if(primeNumberCount(a)) result++;
        }
        System.out.println(result);
    }

    //소수의 개수 카운트 리턴
    public static boolean primeNumberCount(int number){
        if(number==1) return false;
        if(number==2) return true;
        if(number==3) return true;
        for(int i=2;i<=(number/2);i++){
            if(number%i==0) return false;
        }
        return true;
    }
}

문제풀이 : 소수1과 자신으로만 나누어떨어지는 정수

나눌때 number/2 만 확인하면 됩니다. 그 이상 나누는게 무의미 합니다.

반응형

댓글