카테고리 없음

[프로그래머스] 완전탐색 카펫 with Swift

코코자장자장 2022. 1. 24. 14:15

안녕하세요. 오늘은 프로그래머스 완전탐색 카펫문제를 풀어보겠습니다.

이 문제는 간단한 방정식 문제인데요.

 

다들 중학교때 배웠던 근의 공식을 이용해서 문제를 쉽게 푸실수 있으니 식을 보시고 천천히 상기해보시기 바랍니다!

 

import Foundation

func solution(_ brown:Int, _ yellow:Int) -> [Int] {
    
    // 2x + 2y - 4 = brown
    // x * y - 2x - 2y + 4 = yellow
    // x * y = brown + yellow
    // x = (brown + yellow) / y
    // x + y = (brown + 4) / 2
    // y + ((brown + yellow) / y) = (brown / 2) + 1
    // y^2 - ((brown + 4) / 2)*y + (brown + yellow) = 0
    
    // 근의 공식
    var a = 1
    var b = -((brown + 4) / 2)
    var c = brown + yellow
    
    var sqrtAnswer = sqrt(Double(b * b - 4 * a * c))
    var answer1 = (-b + Int(sqrtAnswer)) / (2*a)
    var answer2 = (-b - Int(sqrtAnswer)) / (2*a)
    print(answer1)
    return [answer1, answer2]
}

오늘은 여기까지이며, 질문이 있으시면 댓글로 남겨주세요!

 

오늘도 좋은 하루 되세요!