import java.util.*;
class Solution {
public int[] solution(int brown, int yellow) {
int[] answer = new int[2];
int sum = yellow+ brown;
for(int i = 3; i<=sum/2 ;i++) {
int h = sum / i ;
if( (h-2) * (i-2) == yellow) {
answer [0] = h;
answer[1] = i;
break;
}
}
return answer;
}
}
(1) 가로와 높이는 무조건 3부터 가능하다. 양쪽으로 +1 씩 있기 때문에
(2) 이를 보장하기 위해 for 반복문의 조건을 sum / 2 로 해주었고 안쪽 타일의 가로 길이는 sum / 세로이기 때문에 반복중 ( 가로의 길이 -2 ) * (세로의 길이 -2) == (안쪽타일의넓이) 라면 그때의 가로와 세로가 답일것이다.
Lv2부터는 확실히 간단한 수학적 사고가 필요하다는 것을 느꼈다.. 직접 써보고 계산해보는 습관을 기르자!