알고리즘, 자료구조

[프로그래머스] 분수의 덧셈

Developer Mobssie 2022. 10. 19. 16:47

[프로그래머스] 분수의 덧셈

function solution(denum1, num1, denum2, num2) {
    let answer = [];
    let denum = denum1 * num2 + num1 * denum2; // 분자
    let num = num1 * num2; // 분모
    
    function getGcd(a, b) {
        while ( b !== 0) {
            n = a % b;
            a = b;
            b = n;
        }
        return a;
    }
    const calcGcd = getGcd(denum, num); // 분자와 분모의 최대공약수
    return [denum, num].map(v => v/calcGcd);
}

최대공약수를 사용해서 분자와 분모의 초대공약수를 구해서 나눠 리턴한다.

최대공약수 구하는 방법은 이전 블로그 내용을 참고.

https://developer-mobssie.tistory.com/96