<코드>
function solution(brown, yellow) {
var answer = [];
const oneSide = brown / 2;
for (let i = 1; i < oneSide; i++) {
const width = oneSide - i
const height = i
if(width < height) break;
if((width - 2) * height === yellow) return answer = [width, height + 2]
}
return answer;
}
<풀이>
brown을 2로 나누면 가로와 위, 아래를 뺀 세로의 합이 되고, 이 때 세로는 yellow의 높이가 된다.

yellow의 높이는 최소 1이기 때문에 1부터 brown / 2까지가 되고, 높이가 가로 길이를 넘어설 수 없는 반복문을 돌면서,
가로에서 양 너비 2를 뺀 값(width - 2)과 세로(height)의 곱이 yellow의 갯수와 같으면 값을 반환한다.