에라토스테네스의 체 - 소수 찾기 알고리즘
소수 찾기 : Bronze2
https://www.acmicpc.net/problem/1978
아래 첨부한 이전 포스팅을 참고하여 문제를 풀었다.
https://la-reveuse.tistory.com/384
풀이
import java.io.*;
import java.util.*;
public class Main {
private static boolean isPrime (int num) {
if (num <= 1) return false;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) return false;
}
return true;
}
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int n = Integer.parseInt(br.readLine());
StringTokenizer st = new StringTokenizer(br.readLine());
int[] numbers = new int[n];
for (int i = 0; i < n; i++) {
numbers[i] = Integer.parseInt(st.nextToken());
}
int cnt = 0;
for (int i = 0; i < n; i++) {
if (isPrime(numbers[i])) {
cnt++;
}
}
bw.write(String.valueOf(cnt));
bw.newLine();
bw.flush();
bw.close();
}
}
ㄴ 에라토스테네스의 체 알고리즘을 이용하였다.
문제점 : 에라토스테네스의 체 알고리즘에 아직 익숙하지 않아 잘 기억이 나지 않았다.
해결 방법 : 이전 포스팅을 참고하여 에라토스테네스의 체 알고리즘을 이용해 문제를 풀었다.
깨달은 바 : 에라토스테네스의 체 알고리즘에 더 익숙해지도록 해야겠다.
'코딩테스트 > programming_JAVA' 카테고리의 다른 글
[Java] baekjoon_1676 : 팩토리얼 0의 개수 (1) | 2024.01.01 |
---|---|
[Java] baekjoon_9012 : 괄호 (0) | 2023.12.31 |
[Java] baekjoon_1654 : 랜선 자르기 (0) | 2023.12.29 |
[Java] baekjoon_1181 : 단어 정렬 (0) | 2023.12.25 |
[Java] 프로그래머스_134240 : 푸드 파이트 대회 (0) | 2023.12.17 |