-
카테고리
-
세부 분야
알고리즘 · 자료구조
-
해결 여부
미해결
풀이 피드백, res 구하는 것 질문이요
22.11.06 17:28 작성 조회수 155
0
# 뒤집은 소수
def reverse(x):
result = list(str(x))
result = list(reversed(result))
num = ''
for i in result:
num += i
return int(num)
def isPrime(x):
if x == 1:
return False
for i in range(2, x):
if x % i == 0:
return False
return True
N = int(input())
num = list(map(int, input().split()))
for i in num:
reverse_num = reverse(i)
if isPrime(reverse_num):
print(reverse_num, end = ' ')
reverse 함수 선생님꼐서 하신 계산식이 간단하긴 한데.. 과정은 이전에 설명해주셨다고 했는데 설명을 못들은 것 같아서요! 과정을 모르고 저 식만 보니까 잘 이해가 안갑니다.. 설명을 해주실 수 있나요?
그리고 저는 list 활용해서 뒤집고, int(num)해서 무효의 0은 없애는 과정을 취해줬는데 이렇게 하는 풀이는 어떤가요?
마지막으로 isPrime(x)에서 for문의 범위를 2부터 x로 두면 x//2+1 보다 불필요한 계산을 하긴 하지만 2부터 x-1 Ex) x가 16이면 2부터 15까지 나누어 떨어지는지 검증 하기 떄문에 문제는 없는걸까요?
답변을 작성해보세요.
0
김태원
지식공유자2022.11.14
안녕하세요^^
영상 4분 45초 경부터 보시면 reverse 함수 만드는 것 설명하고 있습니다.
int() 로 0을 없애주는 것 좋습니다.
불필요하게 15까지 반복할 필요는 없어보입니다.
답변 1