Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다.

Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 갈색으로 색칠된 격자의 개수는 기억했지만, 전체 카펫의 크기는 기억하지 못했습니다.
Leo가 본 카펫에서 갈색 격자의 수 brown, 노란색 격자의 수 yellow가 매개변수로 주어질 때 카펫의 가로, 세로 크기를 순서대로 배열에 담아 return 하도록 solution 함수를 작성해주세요.
이 문제를 풀 때 조건은 다음과 같다.
1. 무조건 brown을 yellow가 감싸고 있어야 한다.
2. 가로 길이가 세로 길이보다 길다
이것을 충족하기 위해서 우선 전체 길이 (가로와 세로의 합에서 길이를 나눈다) 를 구한 다음, 문제에서 요청한 대로 가로 길이가 세로 길이보다 길거나 짧은 것을 체크한다. 이후, yellow 타일의 갯수가 맞는지 검증하기 위해 가로와 세로의 타일에서 각각 2개씩 제외한 후(brown이 yellow를 감싸고 있으므로) 둘을 곱한 값이 yellow와 같으면 답이 나온다.
public int[] t03(int brown, int yellow){
int[] answer = {0, 0};
int sum = brown + yellow;
for(int i = 3 ; i <= sum/3 ; i ++){
answer[0] = sum/i;
if(answer[0] >= i && (i-2) * (answer[0] -2) == yellow ){
answer[1] = i;
break;
}
} return answer;
}