카테고리 없음

[Level 0] 분수의 덧셈

1005ptr 2022. 11. 28. 00:49
반응형

https://school.programmers.co.kr/learn/courses/30/lessons/120808

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

  1. 상대편 분모로 곱해서 분자를 만든다.
  2. 분모는 분모 두개를 곱한다.
  3. 분자와 분모의 최대공약수를 구한다.
  4. 분자와 분모에 최대공약수를 나눠준다.
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;
}

 

 

반응형