
팰린드롬 찾는 방법(숫자)
1. 숫자를 문자열로 바꾼다.
2. 문자열을 char형으로 바꾼다.
3. 문자열 길이를 저장한다.
4. for문에 문자열 길이 절반까지 반복한다.
5. if문을 통해 char형 의 앞글자 뒷글자를 비교하고 틀리면 바로 false를 반환한다.
6. 조건이 다 통과하면 true를 반환한다.
public static boolean check(int value){
String str = Integer.toString(value); // 숫자를 문자열로 바꾼다.
char[] array = str.toCharArray(); // 문자열을 char형으로 바꾼다.
int cnt = str.length(); // 문자열의 길이를 저장한다.
for(int i =0; i < cnt/2; i++){ //문자열 길이 절반까지만 반복한다.
if(array[i] != array[cnt-i-1]) return false; // 앞글자랑 뒷글자씩 비교하면서 틀리면 바로 false를 반환한다.
}
return true; // 조건을 다 통과하면 true를 반환한다.
}
import java.io.*;
import java.util.*;
public class J1747 {
public static void main(String[] args) throws IOException {
BufferedReader buffer = new BufferedReader(new InputStreamReader(System.in));
int key = Integer.parseInt(buffer.readLine());
int[] array = new int[1_100_000+1];
for(int i = 0; i<=1100000 ; i++){
array[i] = i;
}
array[1]=0;
for(int i=2; i<Math.sqrt(1100000); i++){
if(array[i] == 0) continue;
for(int j=i+i; j<=1100000; j=j+i){
array[j] = 0;
}
}
for(int i = key; i<= 1100000; i++){
if(array[i] != 0 && check(array[i])) {
System.out.println(array[i]);
break;
}
}
}
public static boolean check(int value){
String str = Integer.toString(value);
char[] array = str.toCharArray();
int cnt = str.length();
for(int i =0; i < cnt/2; i++){
if(array[i] != array[cnt-i-1]) return false;
}
return true;
}
}