본문 바로가기
Algorithm

SwiftUI: 카펫

by songmoro 2024. 3. 17.
728x90

프로그래머스 카펫

 

바깥을 감싸는 brown과 내부 yellow를 통해 카펫의 크기를 구하는 문제

 

풀이 생각 안나서 해답의 2차 방정식 따라 제출

 

func solution(_ brown:Int, _ yellow:Int) -> [Int] {
    let brown = Double(brown)
    let yellow = Double(yellow)
    
    let width = Int((brown / 2 - 2 + sqrt((pow((brown / 2) - 2, 2) - 4 * yellow))) / 2)
    let height = Int(yellow) / width
    
    return [width + 2, height + 2]
}

// width = (brown / 2 - 2 + sqrt((brown / 2 - 2) ^ 2 - 4 * yellow)) / 2

//    brown    yellow    return
//    10    2    [4, 3]
//    8    1    [3, 3]
//    24    24    [8, 6]
728x90

'Algorithm' 카테고리의 다른 글

SwiftUI: 영어 끝말잇기  (0) 2024.03.18
SwiftUI: 영어 끝말잇기  (0) 2024.03.18
SwiftUI: 짝지어 제거하기  (0) 2024.03.16
SwiftUI: 피보나치 수  (0) 2024.03.15
SwiftUI: 다음 큰 숫자  (0) 2024.03.14