본문 바로가기
코테/프로그래머스

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

by 리드맥 2022. 2. 8.
func solution(_ w:Int, _ h:Int) -> Int64{
    var r = h - 1
    var result = 0
    var min:Double = 0
    var max:Double = 0
    
    var count = 0
    if w > h {
        min = Double(h)
        max = Double(w)
    }else {
        min = Double(w)
        max = Double(h)
    }
    
    var inc:Double = max / min
    var wi = 0
    if h == 1 || w == 1 {
        return 0
    }else{
        for i in 1...Int(max) - 1 {
                    if Double(i) / (Double(wi) + 1) >= inc {
                        wi = wi + 1
                        //                print(wi)
                        result = result + wi
                    }else {
                        //                print(wi)
                        result = result + wi
                    }
                
            }
        }
        //    print(result)
        var answer:Int64 = Int64(result * 2)
        
        return answer
    }

1시간12분

기울기를 이용해서 풀었습니다. 기울기보다 커지면 + 1 해서 더하기 아니면 그냥 더하기

댓글