본문 바로가기
코딩테스트 문제집/Programmers(Lv1)

[Programmers] Lv1: 최대공약수와 최소공배수(12940)

by cogito30 2025. 6. 25.
반응형

문제

- 링크: https://school.programmers.co.kr/learn/courses/30/lessons/12940

풀이

Java

(solution 1)


JavaScript

(solution 1)

더보기
const gcd = (num1, num2) => {
    let tmp = num1;
    if (num1 < num2) {
        num1 = num2;
        num2 = tmp;
    }
    return (num2 == 0) ? num1: gcd(num2, num1 % num2);    
};

function solution(n, m) {
    var answer = [];
    answer.push(gcd(n, m));
    answer.push((n * m) / gcd(n, m));
    return answer;
}

- 유클리드 호제법을 이용해서 gcd(최대공약수) 구현

- lcm(최소공배수)의 경우 두 수를 곱하고 gcd로 나누어서 구함

 

(학습포인트)

- 삼항연산자

더보기
(조건식) ? 참일경우 반환값: 거짓일 경우 반환값

 

반응형