happy coding

[java] 1978. 소수 찾기 본문

coding study/baekjoon

[java] 1978. 소수 찾기

yeoonii 2023. 8. 20. 16:28

문제

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

입력

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

출력

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


입력 받을 때마다 소수인지 판단하고 맞다면 ++ 하는 코드

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 cnt = 0;

        StringTokenizer st = new StringTokenizer(br.readLine());

        for (int i = 0; i < N; i++) {
            int num = Integer.parseInt(st.nextToken());
            if (isPrime(num)) {
                cnt++;
            }
        }

        System.out.println(cnt);
    }

    // 소수 판별 함수
    public static boolean isPrime(int n) {
        if (n <= 1) {
            return false;
        }
        for (int i = 2; i * i <= n; i++) {
            if (n % i == 0) {
                return false;
            }
        }
        return true;
    }
}

배열을 안쓰고 싶어서 난리 치는 중

'coding study > baekjoon' 카테고리의 다른 글

[java] 1259. 팰린드롬수  (0) 2023.08.20
[java] 2231. 분해합  (0) 2023.08.20
[java] 1236. 성 지키기  (0) 2023.08.20
[java] 1145. 적어도 대부분의 배수  (0) 2023.08.20
[java] 2675. 문자열 반복  (0) 2023.08.20
Comments