verdantjuly/코딩테스트
javascript 최대공약수를 이용해 분수의 합 구하기
verdantjuly
2023. 5. 4. 20:55
728x90
알게 된 것
기약분수 : 분모와 분자를 그들의 최대공약수로 나누면 기약분수
최대공약수로 나누면 나머지가 0
시도
let numer = numer1*denom2 + numer2*denom1
let denom = denom1*denom2
이후 구글링 한 답안을 이해하려고 하였음
문제
프로그래머스 코딩테스트 입문 : 분수의 합 (바로가기)
첫 번째 분수의 분자와 분모를 뜻하는 numer1, denom1, 두 번째 분수의 분자와 분모를 뜻하는 numer2, denom2가 매개변수로 주어집니다. 두 분수를 더한 값을 기약 분수로 나타냈을 때 분자와 분모를 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요.
풀이
function solution(numer1, denom1, numer2, denom2) {
let numer = numer1*denom2 + numer2*denom1
let denom = denom1*denom2
let maximum = 0 //maximum은 최대공약수
for(i=1;i<=numer;i++){
if (numer%i===0 && denom%i===0){
maximum =i
}
}
return [numer/maximum,denom/maximum];
}
소감
Day2의 문제인데 나한테는 많이 어려운 것 같다. 분발해야지.