두 수의 곱 / 최대 공약수
function getGcd(a, b) {
const r = a % b;
return r === 0 ? b : getGcd(b, r);
}
function solution(n, m) {
const gcd = n > m ? getGcd(n, m) : getGcd(m, n);
return [gcd, (n * m) / gcd];
}
풀 때마다 유클리드 공식이 뭐였더라 하고 찾아보는 나...
이제 진짜 기억해둘 겸 메모
처음에는 재귀 함수 내부에서 Math.max()
와 Math.min()
을 매번 호출했다.
다른 사람 코드들을 본 후 처음에 한 번만 판단하면 그 이후부턴 큰 수와 작은 수가 고정이 된다는 걸 알고 수정했다.