알고리즘문제

프로그래머스 > N개의 최소공배수

단점이없어지고싶은개발자 2022. 10. 27. 19:39
반응형

 

1. 이번 문제는 유클리드 호제법을 알고 있다면 쉽게 접근해서 문제를 풀 수 있다.

2. 최대공약수를 넘겨주어서 나눠주는 방법으로 접근했다.

3. 유클리드 알고리즘이란 2개의 자연수 또는 정식의 최대공약수를 구하는 알고리즘으로. 상대방 수를 나누어 원하는 수를 얻는 알고리즘이다.

 

function solution(arr) {
    return arr.reduce((acc, cur) => (acc * cur) / gcd(acc, cur));
    
    function gcd (a, b) {
        if (b === 0) return a;
        return gcd(b, a % b);
    }
}

 

https://coding-factory.tistory.com/599

 

[Algorithm] 유클리드 호제법 - 최대공약수(GCD) 구하기

유클리드 호제법이란? 유클리드 알고리즘(Euclidean algorithm)은 2개의 자연수의 최대공약수를 구하는 알고리즘입니다. 비교대상의 두 개의 자연수 a와 b에서(단 a>b) a를 b로 나눈 나머지를 r이라고 했

coding-factory.tistory.com

 

반응형