[프로그래머스] 최대공약수와 최소공배수 (javascript/자바스크립트)

스카치·2023년 2월 14일
0

// 풀이 1
function solution(n, m) {
    var answer = [];
    if (n > m) [n,m] = [m,n]
    
    let max = 1
    for (let i=2; i<=n; i++) {
        if(n % i===0 && m % i ===0) max = Math.max(max, i)
    }
    answer.push(max)
    
    for (let j=m; j<=1000000; j++){
        if (j % m ===0 && j % n ===0) {
            answer.push(j)
            break
        }
    }
    
    return answer;
    
}

// 풀이 2
// 유클리드 호제법을 사용
function solution(a, b) {
    var r;
    for(var ab= a*b;r = a % b;a = b, b = r){}
    return [b, ab/b];
}

0개의 댓글