https://school.programmers.co.kr/learn/courses/30/lessons/12940
function solution (n, m) {
// ✅ 생각정리
// n = 3
// m = 12
// 이들의 최대공약수는 3
// 이들의 최소공배수는 12 (n*m/최대공약수)
// 1️⃣ n과 m 중 최소값을 찾아서 그 최소값부터 1까지 모든 수를 도출해낸다. (ex. 3, 2, 1)
// 2️⃣ 도출해낸 수로 n과 m을 각각 나누고, n과 m 모두 나누어 떨어지는 i를 도출해낸다.
// => i가 2인경우 12%2는 0이지만 3%2는 0이 아니므로 if 문의 조건을 만족하지 않는다
// => 결과적으로 조건을 충족하는 i는 3 또는 1 인데 조건을 만족하는 가장 큰 수를 도출해내기 위해서
// for 문에서 조건을 만족하는 수를 도출하면 break를 하여 루프를 끝낸다.
// 3%3(O), 3%2(X), 3%1(O)
// 12%3(O), 12%2(O), 12%1(O)
const arr = [];
let Max;
let Min;
for (let i = Math.min(n,m); i>=1; i--) {
if (n % i === 0 && m % i ===0) {
Max = i;
break;
}
}
Min = (n*m)/Max;
arr.push(Max, Min);
return arr;
}
solution(3,5);