본문 바로가기
Javascript

프로그래머스 문제 풀이 19

by 🐬마뇽뇽 마뇽🦄 2022. 11. 17.
728x90

프로그래머스 문제 풀이 19

최소공배수 최대공약수

01. 문제

function solution(n, m) {
    var answer = [];
    return answer;
}

02. 나의 문제 풀이

function solution(n, m) {
    let answer = [];
    
    let r, a = m, b = n;    
    // 큰 수에서 작은 수로 나눈 나머지 값이 0이 될 때 까지 반복한다. 
    while(b > 0){
        r = a % b;
        a = b;
        b = r;
    }
    // 0이 되었을때 마지막으로 나눈 값 a는 최대공약수 이다.
    answer.push(a);
    
    // 최소공배수는 n과 m의 곱을 최대공약수 a로 나눈 것과 같다.
    answer.push(n * m / a);
    
    return answer;
}

03. 다른 사람의 문제 풀이

function gcdlcm(a, b) {
    var r;
    for(var ab= a*b;r = a % b;a = b, b = r){}
    return [b, ab/b];
} 

true/false 조건을 (r=a%b) 로 판별해두고 0이 나오면 for문이 종료되게 하여 최소공배수 최대공약수가 나오게 한 것 같다

728x90

'Javascript' 카테고리의 다른 글

프로그래머스 문제 풀이 21  (1) 2022.11.17
프로그래머스 문제 풀이 20  (1) 2022.11.17
프로그래머스 문제 풀이 18  (4) 2022.11.15
프로그래머스 문제 풀이 17  (3) 2022.11.14
프로그래머스 문제 풀이 16  (1) 2022.11.14

댓글


고양이 고양이
고양이 고양이
고양이 고양이