테케를 봤을 때
brown + yellow = 넓이 = x * y 이렇게 되는 거잖아
밑변의 길이로 계산해보면 어떨까
ex) 브라운 10일 때
브라운 절반 나눠 = 두줄 || 밑변 5
ㅁㅁㅁㅁㅁ
ㅁㅁㅁㅁㅁ
-1 빼 = 네 줄됨 || 밑변 4
ㅁㅁㅁㅁ
ㅁ ㅁ
ㅁㅁㅁㅁ
-> 이때 if 밑변 - 2(양끝) == 옐로우면 => return [밑변, 여태까지 -1한 횟수+2]
-1 빼 = 세 줄됨 || 밑변 3
ㅁㅁㅁ
ㅁ ㅁ
ㅁ ㅁ
ㅁㅁㅁ
-1 빼 = 두 줄됨 || 밑변 2
ㅁㅁ
ㅁㅁ
ㅁㅁ
ㅁㅁ
ㅁㅁ
ex) 브라운 12일 때 (중요)
x = 12
ㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁ,ㅁㅁ
ㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁ,ㅁㅁ
x = 11
ㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁ,ㅁ
ㅁ1 2 3 4 56 7 8 9 ㅁ
ㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁ,ㅁ
x = 10 "여기 중요" --> depth만큼 수식에 곱해줘야함!!!
ㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁ
ㅁ910111213141516 ㅁ
ㅁ1 2 3 4 56 7 8 ㅁ
ㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁ
def solution(brown, yellow):
answer = []
x = brown // 2
cnt = 0
for i in range(1, x+1):
if (x - 2) * cnt == yellow:
return [x, cnt + 2]
else:
cnt += 1 # yellow의 높이
x -= 1 # 밑변의 길이에 -1
print(solution(10,2))
print(solution(8,1))
print(solution(24,24))
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]