알고리즘 풀이 - 멀쩡한 사각형

picture 22

멀쩡한 사각형

문제 링크

문제 요약

제한사항

  • W, H : 1억 이하의 자연수

Input

  • 가로의 길이 W와 세로의 길이 H

output

  • 사용할 수 있는 정사각형의 개수

해결방법

  • 너비 w와 높이 h가 주어졌을 때 잘리는 사각형의 개수는 w+h+1이다.
  • 이 법칙은 직선이 사각형의 모서리에 닿는 경우에는 유효하지 않다.
  • 직선이 사각형의 모서리에 닿는 경우는 w,h의 공약수를 이용해서 나눌 수 있다.
function solution(w, h) {
  for (let i = Math.min(w, h); 0 < i; i--) {
    if (w % i === 0 && h % i === 0) {
      return w * h - (w / i + h / i - 1) * i
    }
  }
}

Written by@박대성

독서와 지식관리에 관심이 많은 개발자

GitHub