본문 바로가기

Algorithm/프로그래머스 연습 문제

프로그래머스 / 코딩 테스트 / N개의 최소공배수

문제 설명

 

 

문제 해결

 

두 수의 최소공배수를 반복적으로 구하다 보면 n 개의 숫자의 최소공배수를 구할 수 있다.

 

최대공약수를 구하기 위해 유클리드 호제법을 사용할 수 있지만 math 라이브러리를 사용하는 것이 더 간편하다.

 

import math

def lcm(x, y):
    return x * y // math.gcd(x,y)

def solve(arr):
    while len(arr) != 1:
        arr.append(lcm(arr.pop(), arr.pop()))
    return arr[0]

def solution(arr):
    answer = solve(arr)
    return answer