알고리즘 공부/백준

(Python)백준 코딩테스트 연습 - 신기한 소수(2023)

HRuler 2023. 8. 7. 17:25

1. 문제

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

 

2023번: 신기한 소수

수빈이가 세상에서 가장 좋아하는 것은 소수이고, 취미는 소수를 가지고 노는 것이다. 요즘 수빈이가 가장 관심있어 하는 소수는 7331이다. 7331은 소수인데, 신기하게도 733도 소수이고, 73도 소수

www.acmicpc.net

2. 풀이

# 백준 2023번 : 신기한 소수
# 입력 코드
import sys
input = sys.stdin.readline
from collections import deque

# n : 찾고 싶은 신기한 소수 자릿 수
n = int(input())

# n자리 수의 신기한 소수를 찾는 코드
q = deque(["2", "3", "5", "7"])
for i in range(n-1):
    tempQ = deque()
    while q:
        num = q.popleft()
        for j in ["1", "3", "5", "7", "9"]:
            strNum = num + j
            intNum = int(strNum)
            isPrime = True
            for k in range(2, int(intNum ** 0.5) + 1):
                if intNum % k == 0:
                    isPrime = False
                    break
            if isPrime:
                tempQ.append(strNum)
    q = tempQ

for i in q:
    print(i)