백준 1978 자바(소수찾기)

정호윤·2023년 3월 10일

자바

목록 보기
26/46

소수라길래 긴장했는데 별거 아니었다.소수는 나누어지는 수가 1과 자기 자신밖에 없는 수이다.
1이 소수가 아니며 2가 소수라는것만 신경써서 하자

import java.util.*;
import java.io.*;

class Main{
    public static void main(String[] args) throws IOException{
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        int[] arr = new int[N];
        int count=0;

        for(int i=0;i<N;i++){
            arr[i] = sc.nextInt();
        }
        // 소수 판정 boolean 값을 배열에 담아준다.

        for(int i=0;i<N;i++){
            int b=primeNumber(arr[i]);
            if(b==1) count++;
        }
        System.out.println(count);
    }  

    public static int primeNumber(int a){
        if(a==1) return 0;
        //나누는 수를 2부터 시작해야 하는데 ,2는 소수이니 2를 따로 빼주자
        if(a==2) return 1;
        
        for(int i=2;i<a;i++){
            if(a%i==0) return 0; // 나누었을 때 나머지가 0이면 소수가 아님
        }
        return 1;

    }
}
profile
개발자로 취직을 희망합니다.

0개의 댓글