본문 바로가기

코딩테스트/JAVA 문제

[백준 - JAVA] 1978번 : 소수 찾기

문제

주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오.

입력

첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.

출력

주어진 수들 중 소수의 개수를 출력한다.

제출

import java.util.*;

public class Q_1978 {
	/*
		소수 찾기
	*/
	
	static boolean is_Prime(int number) {
		
		// 1은 소수가 아니다
		if(number == 1) {
			return false;
		}
		
		// 2 ~ number-1 까지 중 나누어 떨어지는 약수가 있는지 판별한다.
		for(int i = 2; i <number; i++) {
			if(number % i == 0) return false;
		}
		
		return true;
	}
	
	public static void main(String[] args) {
		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();
		}
		
		for(int i = 0 ; i < n ; i++) {
			if(is_Prime(arr[i])) {
				count += 1;
			}
		}
		
		System.out.println(count);
		
	}
}