728x90
문제
6219번: 소수의 자격
boj.ma
풀이
주어진 A와 B 사이의 소수 중 각 자릿수에 D를 포함하는 소수가 몇개인지 구하는 문제다.
우선 B까지 존재하는 소수를 에라토스테네스의 체로 구해주자.
private static List<Integer> getPrimeList(int a, int b) {
boolean[] isPrime = new boolean[b + 1];
Arrays.fill(isPrime, true);
isPrime[0] = isPrime[1] = false;
final int sqrtN = (int) Math.sqrt(b);
for (int i = 2; i <= sqrtN; ++i) {
if (isPrime[i]) {
for (int j = i * i; j <= b; j += i) {
isPrime[j] = false;
}
}
}
List<Integer> primeList = new ArrayList<>();
for (int i = 2; i <= b; ++i) {
if (isPrime[i]) {
primeList.add(i);
}
}
return primeList;
}
B까지의 소수들에 대해, A이상이면서 각 자릿수에 D가 포함되는 수가 있는지 찾으면 된다.
for (Integer prime : primeList) {
if (prime >= A) {
while (prime > 0) {
if (prime % 10 == D) {
++cnt;
break;
}
prime /= 10;
}
}
}
풀이 시간
5분
소스코드
https://github.com/rogi-rogi/problem-solving/blob/main/baekjoon-online-judge/easy/06219.java
problem-solving/baekjoon-online-judge/easy/06219.java at main · rogi-rogi/problem-solving
Daily Problem Solving Challenges. Contribute to rogi-rogi/problem-solving development by creating an account on GitHub.
github.com
728x90
'PS > Baekjoon Online Judge' 카테고리의 다른 글
[백준 09253] 스페셜 저지 [Java] (1) | 2025.05.07 |
---|---|
[백준 28125] 2023 아주머학교 프로그래딩 정시머힌 [Java] (0) | 2025.05.05 |
[백준 21734] SMUPC의 등장 [Java] (0) | 2025.05.02 |
[백준 26148] 세로 달력 [Java] (0) | 2025.05.01 |
[백준 01940] 주몽 [Java] (0) | 2025.04.30 |