카테고리 없음
[Level 0] 분수의 덧셈
1005ptr
2022. 11. 28. 00:49
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/120808
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
- 상대편 분모로 곱해서 분자를 만든다.
- 분모는 분모 두개를 곱한다.
- 분자와 분모의 최대공약수를 구한다.
- 분자와 분모에 최대공약수를 나눠준다.
function solution(denum1, num1, denum2, num2) {
var answer = [0, 0];
//상대편 분모로 곱해서 분자를 만든다.
let first = num1 * denum2 + num2 * denum1;
// 분모는 분모 두개를 곱한다.
let second = num1 * num2;
// 분자와 분모의 최대공약수 구하기
let gcd = (a, b) => (a % b === 0 ? b : gcd(b, a % b));
let min = gcd(first, second);
// 최대공약수만큼 두 값에서 나눠준다.
answer[0] = first / min;
answer[1] = second / min;
return answer;
}
반응형