Algorithm/Programmers

[Programmers] Lv1. 최대공약수와 최소공배수

by somida 2021. 5. 15.

문제

바로가기

 

코딩테스트 연습 - 최대공약수와 최소공배수

두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의

programmers.co.kr

 

풀이

  • gcd는 최소공배수 구하는 함수
  • 최대공약수는 (a * b)/gcd(a, b)

 

코드

def gcd(n, m):
    while n % m:
        n, m = m, n % m
    return m
    

def solution(n, m):
    if n > m:
        n, m = m, n
    return [gcd(n, m), n * m / gcd(n, m)]

 

반응형

댓글