[Algorithm] 프로그래머스 멀쩡한 사각형
Updated:
문제 설명
나의 풀이
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(최대공약수) 가 잘리는 사각형의 개수이다. 이유는 글 참조하면 된다.
Leave a comment