본문 바로가기

백준문제풀이

백준 1978 자바(java) 소수 찾기

문제

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

입력

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

출력

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

import java.util.Scanner;

public class Main {	
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int count = 0;
		int[] arr = new int[n];
		for(int i = 0; i<arr.length; i++) {
			arr[i] = sc.nextInt();
		}
		for(int i = 0; i<arr.length; i++) {
			if(check(arr[i])) {
				count++;
			}
		}
		System.out.println(count);
	}
	static boolean check(int a) {
		int checkCount = 0;
		for(int i = 1; i<=a; i++) {
			if(a%i ==0) {
				checkCount++;
			}
		}
		if(checkCount == 2) {
			return true;
		}
		return false;
	}
}