본문 바로가기
ComputerScience/알고리즘, 프로그래머스

[Lv.1] JS 최대공약수, 최소공배수 구하기

by VictorMeredith 2023. 1. 31.

1. 문제

2. 풀이

function solution(n, m) {
    var answer = [];
    let 공약수 =[];
    let 최대공약수;
    let 최소공배수;
    
    for(let i = 1; i<= (n>m?n:m); i++){ 
        if(n % i ===0 && m % i ===0){ 
        //i로 나눴을때 두 수 모두 나머지가 0인 수를 모두 공약수배열에 넣어버린다
            공약수.push(i)
        }
    }

    최대공약수 = Math.max(...공약수) //공약수 중에 가장 큰 수가 최대공약수
    최소공배수 = (n/최대공약수 * m/최대공약수 * 최대공약수)
    //최소공배수 공식 : 초등학생 때 배운거다.
    
    answer = [최대공약수, 최소공배수]
    return answer;
}

3. 알아야할 사항

 1) 그냥 공약수 공배수는 가끔 쓸 것 같아서 저장!

댓글