jae_coding

(백준 알고리즘 문제풀이) 1747번 소수 & 팰린드롬 본문

알고리즘 문제/수학(math)

(백준 알고리즘 문제풀이) 1747번 소수 & 팰린드롬

재코딩 2022. 7. 29. 14:26
반응형

문제

문제 링크

 

문제 접근

  • 소수를 탐색하는 함수를 구현한다.
  • 팰린드롬을 찾는 함수를 구현한다.
  • 입력 받은 수인 n보다 큰 경우에 while loop를 돌리면서 n을 점차 증가시킨다.
  • 위 두 함수를 충족한다면 프린트 후 브레이크를 걸어준다.

코드

import sys, math
input = sys.stdin.readline


def is_prime(num):
    if num == 1:
        return False
    if num % 2 == 0:
        if num == 2:
            return True
        return False
    for i in range(3, int(math.sqrt(num)) + 1):
        if num % i == 0:
            return False
    return True


def is_pal(num):
    s = str(num)
    for i in range(len(s) // 2):
        if s[i] != s[len(s)-1 -i]:
            return False
    return True


n = int(input())
while True:
    if is_prime(n) and is_pal(n):
        print(n)
        break
    n += 1
반응형
Comments