https://programmers.co.kr/learn/courses/30/lessons/62048
# def getGcd(w, h):
# if (h == 0):
# return w
# return getGcd(h, w % h)
import math
def solution(w,h):
if (w > h):
w, h = h, w
return w*h - (h + w - math.gcd(w,h))
어떻게 답이 도출 되는지 알기 어려웠다. 처음에는 한줄에 몇개씩 사용할 수 없는지 찾아내려고 했었는데, 몇 개는 맞았지만 답이 아니었다. 그래서 다른 곳을 찾아봤는데 최대공약수를 구해서 한다고 한다. 사용하지 못 하는 수의 개수가 h + w - h,w의 최대공약수를 하면 사용하지 못 하는 사각형의 수가 나왔다. 역시 뭐든지 규칙을 잘 찾는게 중요한 것 같다. 처음에는 최대공약수를 구하는 함수를 구현하여 사용하였는데 math라이브러리에 gcd라는 함수가 있어서 그것을 사용했다.
그래서 총 사각형 개수인 w * h에서 사용 못하는 사각형 수를 빼주면 답이 된다.