https://programmers.co.kr/learn/courses/30/lessons/12953
두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배수는 n 개의 수들의 배수 중 공통이 되는 가장 작은 숫자가 됩니다. n개의 숫자를 담은 배열 arr이 입력되었을 때 이 수들의 최소공배수를 반환하는 함수, solution을 완성해 주세요.
제한사항
입출력 예
- 배열을 오름차순으로 정렬한다.
- 배열의 마지막인 가장 큰 수를 변수 m에 저장한다.
- m을 배열의 다른 수들로 나눠 0이 나오지 않는 경우, 변수 m에 큰 수를 한 번 더 더한다.
- 모든 수의 나머지가 0이 나올 때까지 반복한다.
def solution(arr): arr.sort() m = arr[-1] answer = m while True: for i in range(len(arr)-1): if answer % arr[i] != 0: break else: return answer answer += m
import math def solution(arr): answer = arr[0] for n in arr: answer = (n*answer) // math.gcd(n,answer) print(answer) return answer