슈콩

[BOJ] 백준 1747 소수&팰린드롬 본문

Algorithms/Baekjoon

[BOJ] 백준 1747 소수&팰린드롬

shukong 2025. 9. 11. 00:21
prime을 구하는 경우, 제곱근까지 확인
=> 소수 정리 완료 후, 범위 내 prime list에 저장 !

 

[문제]

https://www.acmicpc.net/problem/1747

 

[소스 코드]

import java.io.*;
import java.util.*;
public class Main {
	static int n;
    static boolean[] prime = new boolean[2000001];
    static List<Integer> list = new ArrayList<>();
	public static void main(String[] args) throws IOException {
    	BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    	n = Integer.parseInt(br.readLine());
    	isPrime();
    	for(int p : list) {
    		if(palindrome(String.valueOf(p))){
    			System.out.println(p);
    			break;
    		}
    	}
    }
	private static void isPrime() {
		Arrays.fill(prime,true);
		prime[1] = false;
		for(int i=2;i*i<=2000000;i++) {
			if(!prime[i]) continue;
			for(int j=i*i;j<=2000000;j+=i) {
				prime[j] = false;
			}
		}
		for(int i=n;i<=2000000;i++) {
			if(prime[i]) list.add(i);
		}
	}
	private static boolean palindrome(String s) {
		for(int i=0;i<(s.length()/2);i++) {
			if(s.charAt(i)!=s.charAt(s.length()-1-i)) 
				return false;
		}
		return true;
	}
}