https://programmers.co.kr/learn/courses/30/lessons/62048
최대공약수를 구한다. 그리고 그림에서의 패턴 사각형 단위의 가로길이와 세로 길이를 각각 minW, minH라고 한다. 패턴 사각형 단위의 개수는 w / minW, 즉 divisor이다.
func solution(_ w:Int, _ h:Int) -> Int64{
let divisor = gcd(w, h)
let minW = w / divisor
let minH = h / divisor
let result = (w * h) - ((minW + minH - 1) * divisor)
return Int64(result)
}
func gcd(_ a: Int, _ b: Int) -> Int {
let mod: Int = a % b
return mod == 0 ? min(a, b) : gcd(b, mod)
}