[JS] N개의 최소공배수

DARTZ·2023년 6월 3일
0

알고리즘

목록 보기
116/135
function gcd(a,b) {
    if (b === 0) return a;
    return gcd(b, a % b);
};

function solution(arr) {
    return arr.reduce((a,b) => a * b / gcd(a, b));
}

두 수 a, b의 최소 공배수를 구하는 방법은 'a * b / 두 수의 공약수'로 구할 수 있습니다. reduce를 사용해 배열의 첫번째 숫자와 두번째 숫자부터 시작합니다. 그리고 두 수의 공약수를 구합니다. (유클리드 호제법으로 구할 수 있습니다.) 이후, reduce를 사용해서 계속 두 수의 최소 공배수를 구하면 n개의 최소 공배수를 구할 수 있습니다.

profile
사람들이 비용을 지불하고 사용할 만큼 가치를 주는 서비스를 만들고 싶습니다.

0개의 댓글