무한루프를 걸어놓고
점점 증가하는 lcm을 둘 모두로 나누었을 때 0이 되는 값이 있다면
그 값이 최소공배수임
// 최소 공배수 구하기
lcm = 1;
while(true) {
if ( (lcm % denom1 === 0 ) && (lcm % denom2 === 0 )) break;
else lcm++
}
나는 둘의 최소 공배수를 구해서 그 값에 맞게 계산을 하려 했는데
기약분수로 나타내야하기 때문에 너무 번거로워졌다
그래서 어릴 때 배운 분모 통분 후 대각선 곱으로 x와 y를 구해줌
function solution(numer1, denom1, numer2, denom2) {
// // 최소 공배수 구하기
// lcm = 1;
// while(true) {
// if ( (lcm % denom1 === 0 ) && (lcm % denom2 === 0 )) break;
// else lcm++
// }
// 분모는 분모끼리의 곱
y = denom1 * denom2
// 분자는 대각선의 곱
x = numer1*denom2 + numer2*denom1
// 기약분수로 만들기 위해 최대 공약수를 찾아줌
maxNum = 0;
for(i=1; i<=y;i++) {
if(x%i === 0 && y%i ===0)
maxNum = i
}
return [x/maxNum, y/maxNum]
}