개발/Javascript

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

Hyunsun 2023. 9. 2. 19:58
728x90

분수의 덧셈

 

문제

첫 번째 분수의 분자와 분모를 뜻하는 numer1, denom1, 두 번째 분수의 분자와 분모를 뜻하는 numer2, denom2가 매개변수로 주어집니다. 두 분수를 더한 값을 기약 분수로 나타냈을 때 분자와 분모를 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요.

 

제한사항

0 <numer1, denom1, numer2, denom2 < 1,000

 

입출력 예

number1 denom1 number2 denom2 result
1 2 3 4 [5, 4]
9 2 1 3 [29, 6]

 

입출력 예 설명

입출력 예 #1
1 / 2 + 3 / 4 = 5 / 4입니다. 따라서 [5, 4]를 return 합니다.


입출력 예 #2
9 / 2 + 1 / 3 = 29 / 6입니다. 따라서 [29, 6]을 return 합니다.

 

문제 풀이

1function solution(numer1, denom1, numer2, denom2) {
    var answer = [];
    let a = denom1 * numer2 + denom2 * numer1
    let b = denom1 * denom2
    
    const func = (a, b) => (a % b === 0 ? val = b : func(b, a % b));
    
    answer.push(a/func(a,b), b/func(a,b));
     
    return answer;
}
728x90