[Level2] N개의 최소공배수

Quesuemon·2021년 3월 29일
0

코딩테스트 준비

목록 보기
34/111

🛠 문제

https://programmers.co.kr/learn/courses/30/lessons/12953


👩🏻‍💻 해결 방법

최소공배수를 구하는 공식은 두 수를 곱한 값을 최대공약수로 나누어 주면 되는 것이다
N개의 최소공배수를 구하기 위해 우선 리스트의 앞에서부터 2개씩 최소공배수를 구해서 다시 리스트의 맨 앞에 넣어주었고 이것을 리스트의 길이가 1이 될 때까지 반복하였다

소스 코드

def gcd(a, b):
    a, b = max(a, b), min(a, b)
    while b != 0:
        a, b = b, a % b
    return a

def solution(arr):
    while len(arr) != 1:
        a = arr.pop()
        b = arr.pop()
        c = gcd(a, b)
        arr.insert(0, int(a*b/c))
    answer = arr[0]
    return answer

0개의 댓글