#include <string>
#include <vector>
using namespace std;
int euclid(int a, int b)
{
if (a % b == 0) return b;
return euclid(b, a % b);
}
int lcm(int a, int b)
{
return a * b / euclid(a, b);
}
int solution(vector<int> arr)
{
int a = lcm(arr[0], arr[1]);
for (int i = 2; i < arr.size(); i++)
a = lcm(a, arr[i]);
return a;
}
유클리드 알고리즘을 이용하면 쉽게 lcm(최소공배수)를 구할 수 있다.