코딩테스트/JAVA

[JAVA/백준 1978번] 소수 찾기

할루솔이 2023. 9. 26. 19:15
반응형

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

 

1978번: 소수 찾기

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

www.acmicpc.net

 

문제

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

입력

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

출력

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

예제 입력 1 

4
1 3 5 7

예제 출력 1 

3

 


import java.util.*;
public class Main {
    public static boolean isPrime(int num){
        for(int i=2;i<num;i++){
            if(num%i == 0){
                return false;
            }
        }
        return true;
    }

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int n = scan.nextInt();
        int[] arr = new int[n];
        int cnt = 0;

        for(int i=0;i<arr.length;i++){
            arr[i] = scan.nextInt();
            if(arr[i] != 1){
                if(isPrime(arr[i])){
                    cnt++;
                }
            }

        }

        System.out.println(cnt);
    }
}

 

소수는 1과 자기 자신으로만 나눠지는 숫자니까 isPrime() 반복문을 2부터 시작한다.

true가 리턴되면 main() 조건문이 실행되고 cnt가 증가된다!

 

 

반응형