728x90
<요즘 내가 읽는 책인 집착의 법칙의 저자 그랜트 카돈 >
오늘도 김태원 - 파이썬 알고리즘 문제를 풀었다.
1. 주사위게임
def reverse(x) :
res = 0
while x !=0 :
t = x % 10 # x의 끝자리를 t에 넣는다
res = res * 10 +t # 기존의 res를 한칸 앞으로, t를 뒤에 넣는다.
x = x // 10 # x의 끝자리를 없앤다
return res
def isPrime(x) :
if x == 1 : return False
for i in range(2,x//2+1 ):
if x%i ==0 : return False
else : return True
if __name__=="__main__" :
n = int(input())
arr = list(map(int,input().split()))
for tmp in arr :
rev_tmp=reverse(tmp)
if isPrime(rev_tmp) : print(rev_tmp,end=' ')
문제를 보고 reverse도 isPrime도 모르겠어서 절망한뒤에
강사님의 코드를 보았다.
흠 ... 똑똑하시구나
근데 이전에 내가 작성했던 코드를 보면 x를 string으로 받아서 [::-1]으로 간단하게 reverse를 하더라ㅎㅎ
+ 소수를 판별하는 방법은
1. 일단 1은 소수가 아니다.
2. 2부터 해당 숫자를 2로 나눈 몫+1까지 for문을 돈다.
-> 2로 나눈 몫이 나올 때까지 없으면 그건 소수가 아닌거다.
-> +1을 하는 이유는 python의 for문은 두번째에 적은 수 -1 까지 돌기 때문이다.
3. for else 문을 사용하여 만약 for문에 걸려들어 return을 하지 않은 상태라면 True ( 나 소수입니다!)를 return 한다.
def reverse(x) :
tmp =str(x)[::-1]
return int(tmp)
def isPrime(x) :
if x == 1 : return False
for i in range(2,x//2+1 ):
if x%i ==0 : return False
else : return True
if __name__=="__main__" :
n = int(input())
arr = list(map(int,input().split()))
for tmp in arr :
rev_tmp=reverse(tmp)
if isPrime(rev_tmp) : print(rev_tmp,end=' ')
이렇게!
공부하는 양이 터무니없이 적다 ...............
늘리자
반응형
'취업 > TIL' 카테고리의 다른 글
20231109_점수계산_[Python알고리즘] (2) | 2023.11.10 |
---|---|
20231108_주사위게임_[Python알고리즘] (1) | 2023.11.08 |
20231102_알고리즘(자릿수의 합,소수,웹서비스구조_두번째확장) (0) | 2023.11.04 |
20231101_TIL(알고리즘-대표값,정다면체_웹서비스구조 첫번째) (2) | 2023.11.01 |
20231031_파이썬 알고리즘_k번째큰수 (0) | 2023.11.01 |