유한소수 판별하기 - Python
2023. 9. 30. 22:48ㆍ공부/📝 프로그래머스
def solution(a, b):
divisor = 2
while divisor <= min(a, b):
if a % divisor == 0 and b % divisor == 0:
a //= divisor
b //= divisor
divisor = 2
else:
divisor += 1
while b != 1:
if b % 2 == 0:
b //= 2
elif b % 5 == 0:
b //= 5
else:
return 2
return 1
# Test Cases
print(solution(7, 20))
print("="*50)
print(solution(11, 22))
print("="*50)
print(solution(12, 21))
print("="*50)
정직하게 풀었습니다.
from math import gcd
def solution(a, b):
b //= gcd(a,b)
while b%2==0:
b//=2
while b%5==0:
b//=5
return 1 if b==1 else 2
math 라이브러리를 쓰면 이렇게 되네요.
'공부 > 📝 프로그래머스' 카테고리의 다른 글
특이한 정렬 - Python (0) | 2023.10.01 |
---|---|
문자열 밀기 - Python (0) | 2023.09.30 |
치킨 쿠폰 - Python (0) | 2023.09.30 |
등수 매기기 - Python (0) | 2023.09.30 |
로그인 성공? - Python (0) | 2023.09.30 |