[프로그래머스, 12940] 최대공약수와 최소공배수 (java)
Problem Solving/Programmers

[프로그래머스, 12940] 최대공약수와 최소공배수 (java)

728x90

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

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

728x90

메모리: 78.9 MB, 시간: 0.02 ms

사용 알고리즘: 구현

class Solution {
    public int[] solution(int n, int m) {
        int[] answer = new int[2];
        
        answer[0] = gcd(n, m);
        answer[1] = lcm(n, m);
        
        return answer;
    }
    
    int gcd(int a, int b) { // 최대공약수
        
        int tmp;
        
        if(a < b) {
            tmp = a;
            a = b;
            b = tmp;
        }
        
        while(b != 0) {
            tmp = a % b;
            a = b;
            b = tmp;
        }
        
        return a;
    }
    
    int lcm(int a, int b) { // 최소 공배수
        
        return (a * b) / gcd(a, b);
    }
}
728x90