알고리즘 - N개의 최소공배수

HoJeong Im·2021년 10월 1일
0

Break_Algo

목록 보기
33/46

문제

코드

function solution(arr) {
    var answer = 0;
    
    const gcd = (p,q) => {
        
        if(q===0) return p;
        
        return gcd(q, p%q);
    }
    
    const lcm = (p,q) => {
        return (p*q) / gcd(p,q)
    }
    let val = arr[arr.length-1];
    for(let i = arr.length-2; i >= 0 ; i--){
        val = lcm(arr[i],val);
    }
    
    
    return val;
}

회고

  • 이 분의 코드를 참고 : 링크

  • 음... 유클리드 호제법을 통해 최대 공약수, 최소 공배수도 쉽게 구할 수 있는 부분을 다시 복습할 수 있었음

  • 하나의 최소 공배수를 다시 다른 배열의 값과 최소 공배수를 구하는 방식으로 N개의 최소 공배수를 구할 수 있다는 부분은 신기했음

profile
꾸준함이 제일 빠른 길이었다

0개의 댓글