N개의 최소 공배수

hyuri·2023년 10월 13일
0

코딩테스트 연습

목록 보기
63/70

내가 작성한 답

function solution(arr) {
    const answer = arr.reduce((a,b) => {
        let large = Math.max(a,b);
        let small = Math.min(a,b);
        let mul = large;

        while(mul % small !==0){
            mul += large;
        }

        return mul;
    });
    return answer;
}

다른 답

function nlcm(num) {
 return num.reduce((a,b) => a*b / gcd(a,b))  
}

function gcd(a, b) {
  return a % b ? gcd(b, a%b) : b
}

해석

나는 하나의 함수 안에서 해결하고 싶었다. 그렇게 하다 보니 코드가 길어진 것 같다.
효율성과 가독성을 따지면 두 번째 코드가 더 좋다.

profile
개발자가 되고 싶은 지망생

0개의 댓글