백준 1978

jaegeunsong97·2023년 3월 3일
0
post-thumbnail

import java.io.*;
import java.util.*;

public class Main {
	public static void main(String[] args) throws IOException {
    	BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int N = Integer.parseInt(br.readLine());
        
        int input;
        int answer = 0;
        
        StirngTokenizer st = new StringTokenizer(br.readLine());
        for (int i = 0; i < N; i++) {
        	input = Integer.parseInt(st.nextToken());
            for (int j = 2; j <= input; j++) {
            	if (j == input) answer++;
                if (input % j == 0) break;
            }
        }
        System.out.println(answer);
    }
}

앞에서 부터 쭉 순회하는 방법


import java.io.*
import java.util.*;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        br.readLine();
        int cnt = 0;
        StringTokenizer st = new StringTokenizer(br.readLine()," ");

        while (st.hasMoreTokens()) {

            boolean isPrime = true;
            int num = Integer.parseInt(st.nextToken());

            if (num == 1) continue;
            for (int i = 2; i <= Math.sqrt(num); i++) { // 제곱근 전까지 하면 됨
                if (num % i == 0) {
                    isPrime = false;
                    break;
                }
            }
            if (isPrime) ++cnt;
        }
        System.out.println(cnt);
    }
}
import java.io.*;
import java.util.*;

public class Main {
  public static void main(String[] args) throws IOException {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    int N = Integer.parseInt(br.readLine());
    int[] arr = new int[N];
    int answer = 0;

    StringTokenizer st = new StringTokenizer(br.readLine());
    for (int i = 0; i < N; i++) arr[i] = Integer.parseInt(st.nextToken());

    for (int i = 0; i < N; i++) {
      int num = arr[i];
      for (int j = 2; j <= num; j++) {
        if (j == num) answer++;
        if (num % j == 0) break;
      }
    }
    System.out.println(answer);
  }
}

제곱근을 이용한 방법. 제곱은 을 이용하면 2.xxx 이므로 2까지만 나누어 떨어지는지 계산하면 됨

profile
현재 블로그 : https://jasonsong97.tistory.com/

0개의 댓글