프로그래머스 - 최대공약수와최소공배수
January 16, 2020
최대공약수와최소공배수
const getMaxMin = (n, m) => {
const numArr = [n, m];
numArr.sort((a, b) => a - b);
let GCD = 0;
for (let i = numArr[1]; i >= 0; i--) {
if (numArr[0] % i === 0 && numArr[1] % i === 0) {
GCD = i;
break;
}
}
return [GCD, (n * m) / GCD];
};
const getMax = (n, m) => {
const numArr = [n, m];
numArr.sort().reverse();
for (let i = numArr[1]; i >= 0; i--) {
if (numArr[0] % i === 0 && numArr[1] % i === 0) {
return i;
}
}
};
const getMin = (n, m) => {
let max = getMax(n, m);
return (n * m) / max;
};
test("최대 공약수, 최대 공배수", () => {
expect(getMaxMin(3, 12)).toEqual([3, 12]);
});
test("최대 공약수", () => {
expect(getMax(3, 12)).toEqual(3);
expect(getMin(3, 12)).toEqual(12);
});