프로그래머스 Level 2 - 카펫
📌 문제 설명
📌 생각한 풀이 방법
- 격자의 갯수에 가능한 조합을 possibleArr에 저장
- brown의 갯수는 (가로+세로)*2-4라는 공식이 성립하기 때문에 조건에 부합하는 조합을 반환함
📌 풀이
function solution(brown, yellow) {
let total = brown + yellow;
let possibleArr = [];
for (let i = 1; i < Math.floor(total / 2); i++) {
if (total % i === 0 && total / i >= i) {
possibleArr.push([total / i, i]);
}
}
return findAnswerWithBrown(possibleArr, brown);
function findAnswerWithBrown(arr, brown) {
for (let i = 0; i < arr.length; i++) {
let currentTotal = (arr[i][0] + arr[i][1]) * 2 - 4;
if (currentTotal === brown) {
return arr[i];
}
}
}
}