본문 바로가기

알고리즘/test

Python) 프로그래머스 - 최대공약수와 최소공배수

https://school.programmers.co.kr/learn/courses/30/lessons/12940

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

실행코드

def solution(num1, num2):
    # Euclid 알고리즘 , GCD 계산
    a = max(num1, num2)
    b = min(num1, num2)
    while b != 0:
        a, b = b, a % b
    gcd = a

    lcm = (num1 * num2) // gcd

    return [gcd, lcm]

먼저 Euclid 알고리즘을 사용하여 두 숫자의 GCD를 계산합니다.

그런 다음 공식 LCM = (num1 + num2) // gcd 를 사용하여 LCM을 계산합니다.