문제
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
메모
- reduce 함수를 이용해 차례대로 한 쌍씩 최소공배수를 구해 결괏값을 누적시킨다.
- 최소공배수는 대상이 되는 한 쌍의 값을 곱한 뒤, 최대공약수로 나눈 값이다.
정답
function solution(arr) {
function gcd(a, b) {
if (b === 0) {
return a;
} else {
return gcd(b, a % b);
}
}
function lcm(a, b) {
return (a * b) / gcd(a, b);
}
const answer = arr.reduce((acc, cur) => lcm(acc, cur));
return answer;
}