class Solution {
public int[] solution(int brown, int yellow) {
int sum = brown+yellow;
for(int i=2; i<=sum/2; i++){
if(sum%i ==0){
int div = sum/i;
if((i-2)*(div-2) == yellow) {
return new int[]{div, i};
}
}
}
return null;
}
}
class Solution {
public int[] solution(int brown, int yellow) {
int sum = brown+yellow;
for(int i=2; i<=sum/2; i++){
if((i-2)*((sum/i)-2) == yellow) {
return new int[]{sum/i, i};
}
}
return null;
}
}
노란색 타일의 개수는 m*n, 갈색 타일의 개수는 2(m+n+2)
이차방정식을 풀면
a=(brown/2 -2 +Math.sqrt((brown/2 -2)2 -4*yellow)) /2
b=yellow/m
class Solution {
public int[] solution(int brown, int yellow) {
int a = (brown+4)/2;
int b = brown+yellow;
int[] answer = {(int)(a+Math.sqrt(a*a-4*b))/2,(int)(a-Math.sqrt(a*a-4*b))/2};
return answer;
}
}