[프로그래머스] 분수의 덧셈
function solution(denum1, num1, denum2, num2) {
let answer = [];
let denum = denum1 * num2 + num1 * denum2; // 분자
let num = num1 * num2; // 분모
function getGcd(a, b) {
while ( b !== 0) {
n = a % b;
a = b;
b = n;
}
return a;
}
const calcGcd = getGcd(denum, num); // 분자와 분모의 최대공약수
return [denum, num].map(v => v/calcGcd);
}
최대공약수를 사용해서 분자와 분모의 초대공약수를 구해서 나눠 리턴한다.
최대공약수 구하는 방법은 이전 블로그 내용을 참고.
https://developer-mobssie.tistory.com/96
'알고리즘, 자료구조' 카테고리의 다른 글
스택이용해 배열 거꾸로 출력하기 (0) | 2022.10.24 |
---|---|
[leetcode] 20. Valid Parentheses (0) | 2022.10.24 |
[js] 최대 공약수, 최소공배수 구하기 (feat. 유클리드 호제법) (0) | 2022.10.19 |
순열 (0) | 2022.09.17 |
[프로그래머스] 성격 유형 검사하기 (0) | 2022.08.19 |