[프로그래머스 LV.0] (Javascript) 분수의 덧셈

Hannah Lee·2023년 1월 4일
0

프로그래머스 LV.0

목록 보기
5/10

😎 링크

프로그래머스 - 분수의 덧셈

😎 고려할 사항

  • num1과 num2의 최대공약수가 뭘지 생각하기 전에 일단 냅다 더하자.
  • 두 수의 최대공약수 <= 두 수 중 작은 수
  • 따라서 최대공약수를 찾는 반복문은 '1부터 두 수 중 작은 수'까지만 돌면 됨
  • 두 수 다 최대공약수로 나눴을 때 나머지가 0

😎 소스코드

function solution(denum1, num1, denum2, num2) {
  var answer = [];
  let mom, son, smaller, gcd; // 덧셈 결과의 분모, 덧셈 결과의 분자, 반복문을 위한 변수, 최대공약수

  mom = num1 * num2;
  son = denum1 * num2 + denum2 * num1;

  if (mom > son) {
    smaller = son;
  } else {
    smaller = mom;
  }

  for (let i = 1; i <= smaller; i++) {
    if (mom % i === 0 && son % i === 0) {
      gcd = i;
    }
  }

  answer.push(son / gcd);
  answer.push(mom / gcd);

  return answer;
}

😎 문법 정리

  • X
profile
프론트 어쩌고

0개의 댓글