STUDYING/Algorithm

[Programmers] 멀쩡한 사각형

EOZIN 2021. 9. 27. 00:32
728x90

https://programmers.co.kr/learn/courses/30/lessons/62048

 

코딩테스트 연습 - 멀쩡한 사각형

가로 길이가 Wcm, 세로 길이가 Hcm인 직사각형 종이가 있습니다. 종이에는 가로, 세로 방향과 평행하게 격자 형태로 선이 그어져 있으며, 모든 격자칸은 1cm x 1cm 크기입니다. 이 종이를 격자 선을

programmers.co.kr

import Foundation

func solution(_ w: Int, _ h: Int) -> Int64{
    let gcd = GCD(w, h)
    let smallW = w/gcd
    let smallH = h/gcd
    
    let cutRectangle = (smallW + smallH - 1) * gcd
    
    return Int64(w * h - cutRectangle)
}

func GCD(_ min: Int, _ max: Int) -> Int {
    let remain = min % max
    if remain == 0 {
        return max
    } else {
        return GCD(max, remain)
    }
}