문제
해결방법
소수 : 1보다 큰 자연수 중 1과 자기 자신만을 약수로 갖는 자연수
이점에서 착안해서 2에서 N - 1로 하는 수를 나머지 연산했을 때 0으로 나눠 떨어지는 경우는 1과 자기 자신이외의 수를 약수로 갖는 것이기 때문에 이 경우에는 소수가 아니다라는 점을 착안해서 문제를 해결하였다.
작성코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int N = scanner.nextInt();
int primeCnt = 0;
for (int i = 0; i < N; i++) {
boolean isPrime = true;
int num = scanner.nextInt();
// 예외처리 1인 경우
if (num == 1) {
continue;
}
for (int j = 2; j <= Math.sqrt(num); j++) {
if (num % j == 0) { // 소수가 아닌 경우
isPrime = false;
break;
}
}
// 소수인 경우
if (isPrime) {
primeCnt++;
}
}
System.out.println(primeCnt);
}
}
'자료구조&알고리즘' 카테고리의 다른 글
[백준]10826번 : 피보나치 수4 (0) | 2022.07.17 |
---|---|
[자료구조] HashSet(집합) (0) | 2022.07.16 |