< 문제 >
풀이
- 유클리드 호제법으로 풀이 (https://www.youtube.com/watch?v=Obs-HC5j5bI)
영상보고 학습, 최대값을 구할때는 a에서 b를 나눈 나머지가 0일땐 b를 return 그렇지 않은경우는 재귀로 다시 함수를 호출하는데 gcd(b, a % b)로 인자로 b, a% b를 첨부 해서 계속 반복,
최소공배수 구하는공식 = (a * b) / 최대공배수
유클리드 호제법으로 풀이.
function solution(n, m) {
const gcd = (a, b) => {
if (a % b === 0) {
return b;
} else {
return gcd(b, a % b);
}
};
const lcm = (a, b) => {
return (a * b) / gcd(a, b);
};
return [gcd(n, m), lcm(n, m)];
}
console.log(solution(3, 12));
console.log(solution(2, 5));