첫 번째 분수의 분자와 분모를 뜻하는
denum1
,num1
, 두 번째 분수의 분자와 분모를 뜻하는denum2
,num2
가 매개변수로 주어집니다. 두 분수를 더한 값을 기약 분수로 나타냈을 때 분자와 분모를 순서대로 담은 배열을 return 하도록 solution 함수를 완성해 보세요.
denum1
, num1
, denum2
, num2
< 1,000denum1 | num1 | denum2 | num2 | result |
---|---|---|---|---|
1 | 2 | 3 | 4 | [5, 4] |
9 | 2 | 1 | 3 | [29, 6] |
function solution(denum1, num1, denum2, num2){
let answer = []
let bottom = num1 * num2
let top = (num1 * denum2) + (num2 * denum1)
// 분모와 분자의 최대 공약수를 찾는다
let gcd = (a, b) => (a % b === 0 ? b : gcd(b, a % b))
let min = gcd(top, bottom)
answer = [top / min, bottom / min]
return answer
}