Programmers
[프로그래머스]유클리드 알고리즘으로 최대공약수 구하기. feat 재귀
딸기뚜왈기
2024. 1. 22. 19:34
- gcd 함수는 유클리드 알고리즘을 사용하여 최대공약수를 계산합니다. 람다 함수를 이용하여 정의되어 있으며, a와 b의 최대공약수를 재귀적으로 계산합니다.
- lcm 함수는 최소공배수를 계산하는 함수로, 입력된 두 수 a와 b의 최소공배수를 계산합니다. 여기서 lcm(a, b) * gcd(a, b) = a * b라는 관계를 이용합니다.
def solution(n, m):
# answer = [i for i in range(1,n+1) if n%i == 0 and m%i == 0]
# return [max(answer), (n*m)//max(answer)]
gcd = lambda n, m : m if not n%m else gcd(m, n%m)
lcm = lambda n, m : n*m//gcd(n,m)
return [gcd(n,m), lcm(n,m)]
def solution(n,m):
gcd = lambda n,m : m if not n%m else gcd(m, n%m)
lcm = lambda n,m : n * m // gcd(n,m)
return [gcd(n,m), lcm(n,m)