문제
각각 두 개의 숫자가 있는 정확히 두 개의 하위 배열로 구성된 배열을 취하는 JavaScript 함수를 작성해야 합니다.
두 하위 배열은 분수 형식의 유리수를 나타냅니다. 우리 함수는 유리수를 더하고 더해진 유리수의 가장 단순한 형태를 나타내는 두 개의 숫자로 구성된 새로운 배열을 반환해야 합니다.
예시
다음은 코드입니다 -
const arr = [
[1, 2],
[1, 3]
];
const findSum = (arr = []) => {
const hcf = (a, b) => b ? hcf(b, a % b) : a;
if(!arr.length){
return null;
};
const [n, d] = arr.reduce(([a, x], [b, y]) => [a*y + b*x, x*y]);
const g = hcf(n, d);
return g === d ? n / d : [n / g, d / g];
};
console.log(findSum(arr)); 출력
다음은 콘솔 출력입니다 -
[5, 6]