Coding Test/프로그래머스 Lv.0

분수의 덧셈 (분모 분자 연산)

sangwoo_rhie 2023. 6. 10. 10:09

 

 

매개변수 4개 (numer1, denom1, numer2, denom2)

son은 두개의 분수를 더했을 때 분자,

mom은 두개의 분수를 더했을 때 분모.

그리고 분자=분모가 동일할 경우 1이므로 let three = 1설정.

 

for문은 정수의 배열이므로 let =1부터 돌린다. i는 분자까지 <=로 설정.

 

예를들어 son이 10, mom이 5이고 i가 5인 경우 if문을 충족. three = i = 5

return문으로 [10/5 , 5/5] = [2,1] 됨.

 

let three의 설정이 중요하다.

 

function solution(numer1, denom1, numer2, denom2) {
    const son = (numer1 * denom2) + (denom1 * numer2) 
    const mom = denom1 * denom2
    let three = 1
    
    for (let i = 1; i <= son; i++) {
        if(son%i === 0 && mom%i === 0) {
            three = i
        }
    }
    return [son / three, mom / three]
}