[백준알고리즘] 1978번 소수찾기_java

문제

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

입력

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

입출력 예제

출력

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

예제 입력 1

1
2
4 
1 3 5 7

예제 출력 1

1
3

소스코드

boolean을 사용하여 count해주자

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import java.util.Scanner;
class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    
    int arr_cnt = sc.nextInt();
    int cnt=0;
    Boolean b;
    int[] arr = new int[arr_cnt];

    for(int i=0;i<arr_cnt;i++){
      arr[i] = sc.nextInt();
      b=true;
      if(arr[i]<=1){
        b = false;
      }else{
        for(int j=2;j<arr[i];j++){
          if(arr[i]%j==0){           
            b = false;
            break;
          }
        }
        if(b){
          cnt++;
        }
      }
    }
    System.out.println(cnt);
  }
}

링크

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