https://school.programmers.co.kr/learn/courses/30/lessons/42842
수학으로 풀었다. 가끔 만나는 이러한 유형들이 더 어렵게 느껴질 때가 있는 것 같다.
yellow = (r - 2) * (c - 2)
brown = (r * c) - yellow
위 식을 이용해서 완전탐색으로 r 또는 c를 정하여 조건이 만족하는지 살펴보면 된다.
def solution(brown, yellow):
for r in range(2500):
c = brown // 2 - r + 2
if (r-2) * (c-2) == yellow:
return [max(r, c), min(r, c)]
return[-1, -1]