본문 바로가기
코딩테스트

[1일1코👨🏻‍💻] Lv.1 최대공약수와 최소공배수.js - 프로그래머스

by Jacob93 2020. 10. 22.

2020.10.22

출처 : 프로그래머스

📝문제

최대공약수와 최소공배수

✏️해답

function solution(n, m) {
    let answer = [];
    let nGongYak = [];
    let mGongYak = [];
    let yakSoo;
    let baeSoo;

    for(let i=1;i<=n;i++){
        n%i==0 ? nGongYak.push(i) : null;
    }
    for(let i=1;i<=m;i++){
        m%i==0 ? mGongYak.push(i) : null;
    }

    /// 최대공약수 : 두개의 약수중에 가장 작은수
    for(let i=0;i<nGongYak.length;i++){
        for(let j=0;j<mGongYak.length;j++){
            if(nGongYak[i]==mGongYak[j]){
                yakSoo = mGongYak[j];
            }
        }
    }
    answer.push(yakSoo);

    /// 최소공배수 
    baeSoo = yakSoo*(n/yakSoo)*(m/yakSoo);
    answer.push(baeSoo);
    return answer;
}

회고🧐

최대 공약수와 최소 공배수의 개념을 잡아야함.

댓글