def solution(brown, yellow):
cases = []
for i in range(1, yellow+1):
if yellow%i == 0 and (i+2)*2 + (yellow//i)*2 == brown:
cases.append((i+2, yellow//i+2))
cases.append((yellow//i+2, i+2))
cases.sort(reverse=True)
return cases[0]
근의 공식 활용
import math
def solution(brown, yellow):
w = ((brown+4)/2 + math.sqrt(((brown+4)/2)**2-4*(brown+yellow)))/2
h = ((brown+4)/2 - math.sqrt(((brown+4)/2)**2-4*(brown+yellow)))/2
return [w,h]
import math
def solution(brown, yellow):
ans=((brown-4)+math.sqrt((brown-4)**2-16*yellow))//4
return [ans+2,yellow//ans+2]