[Lv.0] 분수의 덧셈 *

01수정·2022년 11월 10일
0
post-thumbnail

<입문 100문제> Day 2 - 사칙연산, 조건문, 배열

문제


풀이

function solution(denum1, num1, denum2, num2) {
    let numerator = denum1 * num2 + denum2 * num1;  // 분자
    let denominator = num1 * num2;                  // 분모
    let GCD = 1;                                    // 최대공약수 
    for (let i =0; i<=numerator; i++) {
        if (numerator % i === 0 && denominator % i === 0) 
            GCD = i;
    }
    return [numerator/GCD, denominator/GCD];
}

해답

function solution(denum1, num1, denum2, num2) {
  const denum = denum2 * num1 + denum1 * num2;
  const num = num1 * num2;
  const getGCD = (a, b) => (b === 0 ? a : getGCD(b, a % b));
  const gcd = getGCD(denum, num);
  return [denum / gcd, num / gcd];
}

참고자료

profile
새싹 FE 개발자

0개의 댓글