알고리즘 풀이/백준
[1747] 백준 - 소수&팰린드롬(JAVA)
데롱디롱
2021. 10. 19. 01:41
728x90
[ 풀이 방법 ]
- N부터 충분히 큰 수 사이에서,
소수이면서 팰린드롬인 숫자를 찾으면 출력하고 종료
- 소수 찾기
=> 에라토스테네스의 체
- 팰린드롬
=> StringBuilder를 이용하여 문자열을 뒤집은 것과 같은지 확인
[ 전체 코드 ]
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
for (int i = N; i < 999999999; i++) {
if (isPrime(i) && isPalindrom(i)) {
System.out.println(i);
break;
}
}
}
private static boolean isPalindrom(int num) {
StringBuilder sb = new StringBuilder(num + "");
if (!sb.toString().equals(sb.reverse().toString()))
return false;
return true;
}
private static boolean isPrime(int num) {
if (num == 1)
return false;
for (int i = 2; i <= Math.sqrt(num); i++) {
if (num % i == 0)
return false;
}
return true;
}
}