솔루션
const solution = (a, b) => {
const getGCD = (a, b) => {
let gcd = 1;
for (let i = 1; i <= Math.min(a, b); i++) {
if (a % i === 0 && b % i === 0) gcd = i;
}
return gcd;
};
const getPrimeFactors = (num) => {
let pFactors = [];
for (let i = 2; i <= Math.sqrt(num); i++) {
while (num % i === 0) {
pFactors = [...pFactors, i];
num /= i;
}
}
if (num > 2) pFactors = [...pFactors, num];
return pFactors;
};
const answer = getPrimeFactors(b / getGCD(a, b)).find(
(n) => n !== 2 && n !== 5
)
? 2
: 1;
console.log(answer);
return answer;
};
'프로그래머스(Javascript) > Level 0' 카테고리의 다른 글
[프로그래머스 | 자바스크립트] 평행 (0) | 2023.03.03 |
---|---|
[프로그래머스 | 자바스크립트] 겹치는 선분의 길이 (0) | 2023.03.02 |
[프로그래머스 | 자바스크립트] 등수 매기기 (0) | 2023.03.01 |
[프로그래머스 | 자바스크립트] 로그인 성공? (0) | 2023.02.28 |
[프로그래머스 | 자바스크립트] 치킨 쿠폰 (0) | 2023.02.27 |