프로그래밍/알고리즘 풀이
[node.js] 카펫 ( 프로그래머스 레벨2 )
카카수(kakasoo)
2021. 6. 29. 13:09
반응형
// 프로그래머스 레벨2 카펫을 풀었습니다.
const 약수 = (num) => {
let res = [];
for (let i = 3; i <= parseInt(Math.sqrt(num)); i++) {
if (num % i === 0) {
res.push(i);
res.push(num / i);
}
}
return res.sort((o1, o2) => o1 - o2);
};
function solution(brown, yellow) {
let square = brown + yellow;
let div = 약수(square);
for (let i = 0; i < parseInt(div.length / 2); i++) {
let sero = div[i];
let garo = div[div.length - 1 - i];
let teduri = (garo - 2) * 2 + (sero - 2) * 2 + 4;
let inner = (garo - 2) * (sero - 2);
if (teduri === brown && inner === yellow) return [garo, sero];
}
}
반응형