49. 프로그래머스(1단계) - 최대 공약수와 최소 공배수

성훈·2021년 9월 6일
0

Algorithm

목록 보기
49/61
post-thumbnail

📌 문제의 조건

두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12)는 [3, 12]를 반환해야 합니다.

제한사항 🤔

  • 두 수는 1이상 1000000이하의 자연수입니다.

📌 풀이

풀이 👨‍💻

function solution(n, m) {
    let bigNum = n > m ? n : m,
        div;
    for(let i = 1; i <= bigNum/2; i++){
        if(m % i === 0 && n % i === 0){
            div = i;
        }
    }
    return [div, n * m / div]
    
}

📌 리뷰

최대 공약수는 두 수중 큰수의 절반까지 반복문 돌리고 두개 다 나누어 떨어지면 할당하는 방식으로 구했고, 최소 공배수는 두수 곱 / 최대 공약수 로 구했다.

📌 문제 출처

출처: 프로그래머스 코딩 테스트 연습,

https://programmers.co.kr/learn/challenges#

profile
어떻게 이걸 풀어낼 수 있을까

0개의 댓글