1) 총 면적 = brown 개수 + yellow 개수
2) 총 면적의 약수 쌍에서 각각을 -2를 하고 곱했을때, yellow와 같다면 답.
function solution(brown, yellow) {
var answer = [];
var totalArea = brown + yellow;
for(var i =3;i<=Math.sqrt(brown+yellow);i++){
if(totalArea%i===0){
if((i-2)*(totalArea/i-2) === yellow){
answer[0] = i>totalArea/i? i : totalArea/i;
answer[1] = i<totalArea/i? i : totalArea/i;
}
}
}
return answer;
}
이번 문제는 비교적 간단하고 빠른 시간이 풀어냈다. 본인이 생각했을때 핵심은 총 면적의 약수 쌍에서 각각을 -2를 하고 곱했을때, yellow와 같다면 답.
이것과 같이 문제를 쉽게 풀어낼 수 있는 방법을 빠르고 정확하게 구상하는 것에 있다고 생각한다. 이를 위해서는 테스트 케이스 몇개 정도를 대입하여 계산하면서 규칙을 눈치채는 것이 중요하다고 생각한다.