반응형
코딩 테스트 30일 챌린지
푼 문제 수 : 1
문제 요약
- n개의 자연수가 입력되면 각 자연수를 뒤집는다.
- 뒤집은 자연수가 소수이면 출력한다.
- 뒤집었을 때 첫 자리가 0이면 무시한다.
- 뒤집는 함수, 소수 확인 함수를 만든다.
입, 출력 예제
입력:
1 5 32 55 62 3700 250
출력:
1 23 73
풀이
def reverse(x):
# 초기화 하나 한다.
res=0
# while 문으로 x가 0보다 클 때 항상 반복문을 돌려준다.
while x>0:
# x의 1의 자리 숫자가 t가 된다.
t=x%10
res=res*10+t
# x는 10으로 나눈 몫으로 바꿔진다.
x=x//10
# res를 리턴한다.
return res
def isPrime(x):
# x의 값이 1일 수 있다.
if x==1:
# False 시켜줘야 한다.
return False
# 소수를 구하려면 값의 반 정도까지만 구하면 된다.
# 그 뒤쪽은 어차피 다 걸러진다.
# 2로 나눈 몫의 +1을 해줘 절반까지 돌게 한다.
for i in range(2, x//2+1):
# x는 i의 약수가 존재하면
if x%i==0:
# 리턴을 False한다.
return False
#위 와 같은 상황이 아니라면
else:
# 정상적으로 끝난 값을 True해 준다.
return True
n=int(input())
a=list(map(int,input().split()))
for x in a:
# x를 reverse 함수로 보내고 리턴 받아 tmp에 담는다.
tmp = reverse(x)
# reverse 된 값을 inPrime, 소수 구하는 함수에 보내 리턴 받아 값을 나타낸다.
if isPrime(tmp):
print(tmp, end=" ")
반응형
'챌린지 > 코딩 테스트 30일 챌린지' 카테고리의 다른 글
[코딩 테스트 30일 챌린지] : 10 (0) | 2022.06.21 |
---|---|
[코딩 테스트 30일 챌린지] : 09 (0) | 2022.06.20 |
[코딩 테스트 30일 챌린지] : 07 (0) | 2022.06.18 |
[코딩 테스트 30일 챌린지] : 06 (0) | 2022.06.17 |
[코딩 테스트 30일 챌린지] : 05 (0) | 2022.06.16 |
댓글