Java/코딩 테스트
수학: 백준 1978 자바(Java) 소수 찾기
bgeun2
2021. 10. 13. 16:36
반응형
문제: https://www.acmicpc.net/problem/1978
1978번: 소수 찾기
첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.
www.acmicpc.net
풀이:
입력 받은 n개의 수를 arr에 저장하고 소수를 판별해주는 함수 isPrime에 arr의 원소를 넘겨주었다.
소수 여부에 따라 true와 false가 리턴되는데, true인 경우에 cnt의 값을 1 늘려 카운트를 해주었다.
정답:
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.BufferedReader;
import java.util.StringTokenizer;
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());
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
int[] arr = new int[n];
int cnt = 0;
for (int i = 0; i < n; i++) {
arr[i] = Integer.parseInt(st.nextToken());
}
for (int i = 0; i < n; i++) {
if (isPrime(arr[i]) == true) {
cnt += 1;
}
}
System.out.println(cnt);
}
public static boolean isPrime(int number) {
if (number < 2) {
return false;
}
if (number == 2) {
return true;
}
for (int i = 2; i < number; i++) {
if (number % i == 0) {
return false;
}
}
return true;
}
}
반응형