• 문제 링크
1747번: 소수&팰린드롬
어떤 수와 그 수의 숫자 순서를 뒤집은 수가 일치하는 수를 팰린드롬이라 부른다. 예를 들어 79,197과 324,423 등이 팰린드롬 수이다. 어떤 수 N (1 ≤ N ≤ 1,000,000)이 주어졌을 때, N보다 크거나 같고,
www.acmicpc.net
• 풀이 과정
• 풀이 코드
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Main {
static boolean[] nonPrime;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int n = Integer.parseInt(br.readLine());
sieve();
while (true) {
if (!nonPrime[n] && isPalindrome(String.valueOf(n))) {
bw.write(String.valueOf(n));
break;
}
n++;
}
bw.flush();
}
private static void sieve() {
nonPrime = new boolean[1003002];
nonPrime[1] = true;
for (int i = 2; i < Math.sqrt(nonPrime.length); i++) {
if (!nonPrime[i]) {
for (int j = i * i; j < 1003002; j += i)
nonPrime[j] = true;
}
}
}
private static boolean isPalindrome(String s) {
for (int i = 0; i <= s.length() / 2; i++) {
if (s.charAt(i) != s.charAt(s.length() - i - 1))
return false;
}
return true;
}
}
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int n = Integer.parseInt(br.readLine());
while (true) {
if (isPalindrome(String.valueOf(n)) && isPrime(n)) {
bw.write(String.valueOf(n));
break;
}
n++;
}
bw.flush();
}
private static boolean isPalindrome(String s) {
for (int i = 0; i <= s.length() / 2; i++) {
if (s.charAt(i) != s.charAt(s.length() - i - 1))
return false;
}
return true;
}
private static boolean isPrime(int n) {
if (n == 1)
return false;
for (int i = 2; i <= Math.sqrt(n); i++) {
if (n % i == 0)
return false;
}
return true;
}
}
'Problem Solving > Baekjoon' 카테고리의 다른 글
[백준] 10157 자리배정 - Brute Force / Java (0) | 2023.01.06 |
---|---|
[백준] 4375 1 - Brute Force / Java (0) | 2023.01.05 |
[백준] 1051 숫자 정사각형 - Brute Force / Java (0) | 2023.01.03 |
[백준] 18111 마인크래프트 - Brute Force / Java (0) | 2023.01.02 |
[백준] 1120 문자열 - Brute Force / Java (0) | 2023.01.01 |
댓글