첫 번째 분수의 분자와 분모를 뜻하는 denum1, num1, 두 번째 분수의 분자와 분모를 뜻하는 denum2, num2가 매개변수로 주어집니다. 두 분수를 더한 값을 기약 분수로 나타냈을 때 분자와 분모를 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요.
- 1. 분모 통분해주기
2.분자분모의 최대공약수로 나뉨
2-1. 분자분모중 작은수 찾기
2-2 작은수를 분자분모로 나누기
2-2-1 둘다 나누어 떨어지면 그 나눈수가 최대공약수
2-2-2 안나누어 떨어지면 작은수를 1줄이고 2-2로 돌아가기.
function solution(denum1, num1, denum2, num2) {
var answer=[];
const denum=denum1*num2+denum2*num1; //분자
const num=num1*num2; //분모(통분)
let minNumber;
if(denum<num){ //분자 분모중 작은수 찾기.
minNumber=denum; //분자가 작으면 minNumber에 넘겨줌
}else{
minNumber=num; //분모가 작으면 minNumber에 넘겨줌
}
//나누어 떨어지는것 -> 나머지가 0인것
while(true){
if(denum%minNumber===0 ){ //둘다 나누어 떨어지면 최대공약수
if(num%minNumber===0){
//나누어 떨어지는것 둘다 0이면
//minNumber는 최대공약수
return [denum/minNumber,num/minNumber]; //
}
}
minNumber=minNumber-1;
}
}
// minNumber 에는 작은수가 들어가 있음.
```