최소공배수를 쉽게 구하기 위해서는 먼저 최대공약수를 구할 필요가 있다. 파이썬 math 함수 내의 gcd를 통해 최대공약수를 쉽게 구할 수 있다. 최소공배수는 num1, num2의 곱을 두 수의 최대공약수로 나눈 몫이다. 이를 통해 최소공배수를 구하는 함수를 정의, N개의 수 중 맨 앞의 두 수의 최소공배수를 구하며 마지막 1개가 남을 때까지 반복한다.
from math import gcd
def lcm(x, y):
return (x * y) // gcd(x, y)
def solution(arr):
while len(arr) != 1:
val = lcm(arr[0], arr[1])
arr.pop(0)
arr.pop(0)
arr.insert(0, val)
return arr[0]