안녕하세요. 오늘은 프로그래머스 완전탐색 카펫문제를 풀어보겠습니다.
이 문제는 간단한 방정식 문제인데요.
다들 중학교때 배웠던 근의 공식을 이용해서 문제를 쉽게 푸실수 있으니 식을 보시고 천천히 상기해보시기 바랍니다!
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]
}
오늘은 여기까지이며, 질문이 있으시면 댓글로 남겨주세요!
오늘도 좋은 하루 되세요!