[Java] 백준 1978번

백준 1978번

소수 찾기

문제

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

입력

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

출력

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

예제

코드

import java.util.*;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		int N = sc.nextInt();
		int count = 0;
		
		for(int i=0; i<N; i++) {
			 
			boolean check = true;
			int num = sc.nextInt();
			
			if(num == 1) 
				continue;
			
			for(int j = 2; j < num; j++) {
				if(num % j == 0) {
					check = false;	
					break;
				}
			}
			if(check) 	
				count++;
		}
		sc.close();
		
		System.out.println(count);
	}
}

풀이

소수는 1과 자기 자신으로 나누었을 때만 0이 나오는 수 들이다. 따라서, for문을 활용해서 2부터 자기 자신수 직전까지를 반복시켜서 그 중 % 계산 시, 0이 한번도 안나오면 소수이다.

좋은 웹페이지 즐겨찾기