멀쩡한 사각형

김재경·2022년 8월 8일
0
function solution(w, h) {
  const total = w * h;
  const gcd = getGCD(w, h);

  return total - (w + h - gcd);
}

let getGCD = (num1, num2) => (num2 > 0 ? getGCD(num2, num1 % num2) : num1);

하나하나 그리다보니 삽질을 하다보니 최대 공약수의 규칙이 있었다. 그거로 해결함
최대공약수는 유클리드 호제법 + 재귀 함수로 구현한 것이다.

참고: https://velog.io/@devjade/JavaScript%EB%A1%9C-%EC%B5%9C%EB%8C%80%EA%B3%B5%EC%95%BD%EC%88%98GCD-%EC%B5%9C%EC%86%8C%EA%B3%B5%EB%B0%B0%EC%88%98LCM-%EA%B5%AC%ED%95%98%EA%B8%B0

profile
프런트앤드 개발자

0개의 댓글