최대공약수와 최소공배수 - Python
2023. 10. 14. 05:03ㆍ공부/📝 프로그래머스
1. 풀이 코드
# 유클리드 호제법
# 최대공약수
def GCD(x, y):
while y:
x, y = y, x % y
return x
# 최소공배수
def LCM(x, y):
result = (x * y) // GCD(x, y)
return result
def solution(n, m):
return [GCD(n, m), LCM(n, m)]
# Test Cases
print(solution(3, 12))
print(solution(2, 5))
예전에 사용한 유클리드 호제법 코드를 가져왔습니다.
2. 다른 사람 풀이 코드
def solution(n, m):
def gcd(a, b): return b if not a % b else gcd(b, a % b)
def lcm(a, b): return a*b//gcd(a, b)
return [gcd(n, m), lcm(n, m)]
저보다 더 간결하게 푼 사람을 발견했습니다. 멋있습니다.
'공부 > 📝 프로그래머스' 카테고리의 다른 글
3진법 뒤집기 - Python (0) | 2023.10.14 |
---|---|
같은 숫자는 싫어 - Python (0) | 2023.10.14 |
직사각형 별찍기 - Python (0) | 2023.10.14 |
문자열 다루기 기본 - Python (0) | 2023.10.14 |
부족한 금액 계산하기 - Python (0) | 2023.10.14 |