def gcd(n1, n2):
val = n1 % n2
if val == 0:
return n2
else:
return gcd(n2, val)
def solution(arr):
answer = 1
for i in arr:
answer = answer * i // gcd(answer, i)
return answer
val은 n1을 n2로 나눈 값의 나머지
val값이 0이 나올 때까지 n2를 val로 나눈다!
이 계산을 하는 이유는 n1와 n2의 최대공약수를 구하기 위해서이다!
return값으로 최대공약수 값을 구해서 solution함수에서 answer * i를 한 후 answer와 i의 최대공약수로 나눔으로써 최소공배수를 구해가는 것이다.