Reverse, isPrime 함수를 만들어서 풀이하는 문제.
reverse 함수는 10의 n승 만큼을 길이를 받아 원래 수 x에서 나누어 몫을 계산하였고
그 값을 계속 제외해 나가면서 a를 구하고
a를 number에 더해주었음.
n = int(input())
num_list = list(map(int, input().split()))
def reverse(x):
num_digit = list(str(x))
digit_list = []
num = 0
for i in range(len(num_digit)):
a = x // (10**(len(num_digit)-(i+1)))
x = x - a * (10**(len(num_digit)-(i+1)))
num += a * (10**(i))
num = int(num)
return num
def isPrime(x):
for i in range(2, x) :
if x % i == 0 :
return False
return True
for i in num_list :
rev_i = reverse(i)
if isPrime(rev_i) == True :
print(rev_i, end=" ")
1은 소수가 아닌걸 제외하지 못했다.. ^^,,
코드 수정
def isPrime(x):
if x == 1 :
return False
for i in range(2, x) :
if x % i == 0 :
return False
return True
'알고리즘과 자료구조 > 매일매일 알고리즘' 카테고리의 다른 글
8. 점수 계산하기 (0) | 2024.01.04 |
---|---|
7. 주사위 게임 (1) | 2024.01.04 |
5. 소수 구하기(에라토스테네스 체) (1) | 2023.12.22 |
4. 자릿수의 합 (0) | 2023.12.22 |
3. 정다면체 (0) | 2023.12.22 |