문제 출처
프로그래머스 lev2 - 카펫
나의 풀이
function solution(brown, yellow) {
let ent = brown + yellow;
let answer = [0, 0];
for (let i=3; i<=Math.sqrt(ent); i++) {
if (ent%i==0) {
let brwidth = brown - (i*2);
if (ent/i === (brwidth/2)+2) {
answer[0] = (brwidth/2)+2;
answer[1] = ent/answer[0];
}
}
}
return answer;
}
console.log(solution(8, 1));
다른 풀이
function solution(brown, red) {
var answer = [];
for (var i = 3; i <= (brown+red)/i; i++) {
var x = Math.floor((brown+red)/i);
if( (x-2)*(i-2)=== red) {
break;
}
}
return [x,i];
}
console.log(solution(8, 1));