[공부] 코테/백준

[백준 1978] 소수 찾기

woodisco 2024. 3. 14. 11:49

 

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

 

1978번: 소수 찾기

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

www.acmicpc.net

 

주어진 수 N개 중에서 소수가 몇 개 존재하는지 알아보는 문제이다.

예를 들어 입력을 아래와 같이 받은 경우,
4
1, 3, 5, 7
N은 4이며 1, 3, 5, 7중에 소수를 찾아내면 된다.
여기서 출력 즉 소수의 개수는 3이다.

포인트는
・ 입력 받은 숫자 1은 소수가 아니므로 제외한다.
・ 1을 제외한 숫자들중, 각 숫자의 숫자-1까지 반복문을 돌려 나머지가 0이 아닌 숫자를 찾아낸다.
package BAEKJOON.STEP5.Q1978;

import java.util.Scanner;

// 1978번 : 소수 찾기
public class Main {
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);

        // 수의 개수
        int test = sc.nextInt();
        // 소수의 개수
        int count = 0;

        for (int i=0; i<test; i++) {

            int num = sc.nextInt();

            // 1은 제외
            if (num==1) {
                continue;
            }

            // 나머지가 0인 수의 개수
            int a = 0;

            for (int j=2; j<num; j++) {
                // 약수인지 검사
                if (num%j==0) {
                    a++;
                }
            }

            if (a==0) {
                count++;
            }
        }

        System.out.println(count);
        sc.close();
    }    
}