🔗 백준 1978 소수 찾기 https://www.acmicpc.net/problem/1978
문제
주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오.
입력
첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.
출력
주어진 수들 중 소수의 개수를 출력한다.
풀이
이전에 포스팅했던 소수 구하기 문제를 풀었다면 이 문제또한 쉽게 풀 수 있다.
소수 구하기 : https://hyospital.tistory.com/73
이 전 소수를 구하는 코드를 활용하여 소수라면 true, 아니라면 false를 리턴하도록 하여 조건문에서 count를 세어주었다.
내가 푼 코드
더보기
import java.io.*;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
br.readLine();
int count = 0;
StringTokenizer st = new StringTokenizer(br.readLine());
while (st.hasMoreTokens()) {
if (isPrime(Integer.parseInt(st.nextToken()))) count++;
}
System.out.println(count);
}
private static boolean isPrime(int num) {
if (num == 1) return false;
for (int i = 2; i <= Math.sqrt(num); i++) {
if (num % i == 0) return false;
}
return true;
}
}
'Algorithm' 카테고리의 다른 글
[BaekJoon] 2798 블랙잭 JAVA (0) | 2023.01.17 |
---|---|
[BaekJoon] 2108 통계학 JAVA (0) | 2023.01.17 |
[BaekJoon] 1929 소수 구하기 JAVA (0) | 2023.01.17 |
[BaekJoon] 11866 요세푸스 문제 0 JAVA (0) | 2023.01.17 |
[BaekJoon] 1966 프린터 큐 JAVA (0) | 2023.01.17 |