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의 문제인데 나한테는 많이 어려운 것 같다. 분발해야지.
'verdantjuly > 코딩테스트' 카테고리의 다른 글
javascript 목적에 맞는 답변 취하기 ( 최소공배수 ) (1) | 2023.05.05 |
---|---|
javascript 배열 요소 정렬 오름차순 내림차순 (1) | 2023.05.04 |
javascript 배열에 값 할당하기 , 배열 뒤집기 (1) | 2023.05.04 |
javascript for 문 과 if 문을 함께 사용하는 예 (1) | 2023.05.04 |
javascript = , == , === 의 차이 (1) | 2023.05.04 |