1. 문제
https://www.acmicpc.net/problem/1747
2. 풀이 과정
1. 에라토스테네스의 체를 이용하여 소수를 구한다.2. 소수인 경우에 팰린드롬인지 확인하는데, 숫자를 문자열로 바꿔서 대칭인지 확인하도록 하였다.
import java.util.Scanner;
public class Main {
static int N;
static final int MAX = 1_004_000;
static boolean[] isPrime;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
N = sc.nextInt();
isPrime = new boolean[MAX+1];
isPrime[1] = true;
prime();
}
public static void prime() {
for(int i = 2; i <= MAX ; i++) {
if(isPrime[i]){continue;}
if(i>=N && solve(i)){
System.out.println(i);
return;
}
for(int j=i+i; j <= MAX; j+=i){
isPrime[j] = true;
}
}
}
public static boolean solve(int num) {
if(num < 10) {
return true;
}
String str = String.valueOf(num);
for(int i = 0; i < str.length() / 2; i++) {
if(str.charAt(i) != str.charAt(str.length() -1 - i)) {
return false;
}
}
return true;
}
}
결과
'코딩문제풀이 > Baekjoon' 카테고리의 다른 글
[Java] 백준 2310번 : 어드벤처 게임* (0) | 2022.12.30 |
---|---|
[Java] 백준 21924번 : 도시 건설 (0) | 2022.12.29 |
[Java] 백준 15591번 : MooTube (Silver)* (0) | 2022.12.27 |
[Java] 백준 10819번 : 차이를 최대로 (0) | 2022.12.26 |
[Java] 백준 13335번 : 트럭 (0) | 2022.12.25 |