Coding Test/Baekjoon

[Python/BOJ] 1747. 소수&팰린드롬

NLP Developer 2023. 6. 21. 22:53
728x90
반응형

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

 

1747번: 소수&팰린드롬

어떤 수와 그 수의 숫자 순서를 뒤집은 수가 일치하는 수를 팰린드롬이라 부른다. 예를 들어 79,197과 324,423 등이 팰린드롬 수이다. 어떤 수 N (1 ≤ N ≤ 1,000,000)이 주어졌을 때, N보다 크거나 같고,

www.acmicpc.net

문제

어떤 수와 그 수의 숫자 순서를 뒤집은 수가 일치하는 수를 팰린드롬이라 부른다. 예를 들어 79,197과 324,423 등이 팰린드롬 수이다.

어떤 수 N (1 ≤ N ≤ 1,000,000)이 주어졌을 때, N보다 크거나 같고, 소수이면서 팰린드롬인 수 중에서, 가장 작은 수를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 N이 주어진다.

출력

첫째 줄에 조건을 만족하는 수를 출력한다.

풀이

Code

import sys
input = sys.stdin.readline

# 4. check 재귀 함수 선언
def check(num) :
    # 4-1. 소수 여부 판별
    for i in range(2, int(num**0.5)+1) :
        if num % i == 0 : return False
    # 4-2. 팰린드롬 여부 판별
    return True if str(num) == str(num)[::-1] else False

n = int(input())
# 1. n=1일 경우 처리
if n == 1 : n += 1
# 2.
while True :
    # 3. check 재귀함수 실행
    if check(n) :
        print(n)
        break
    n += 1
728x90
반응형