[Algorithm] 프로그래머스 멀쩡한 사각형

Updated:

문제 설명

1617

나의 풀이

import Foundation
func solution(_ w:Int, _ h:Int) -> Int {
    var answer:Int = 0
    var gcdValue = gcd(w, h)
    
    return w * h - (w + h - gcdValue)
}

func gcd(_ a: Int, _ b: Int) -> Int {
    if b == 0 {
        return a
    }
    else {
        return gcd(b, a % b)
    }
}

고민한 점

일단 최대공약수까지는 생각했지만 겹치는 사각형을 구하는 규칙을 찾기 못했다..

w + h - g(최대공약수) 가 잘리는 사각형의 개수이다. 이유는 글 참조하면 된다.

참고

Programmers

Leave a comment