본문 바로가기
프로그래머스 문제풀이

프로그래머스 Level 1 : 최대공약수와 최소공배수

by 공부합시다홍아 2020. 7. 1.

public class Solution {
    public int[] solution(int n, int m) {
        int[] answer = new int[2]; //answer 배열에 2개가 담겨있다.
        int max = m;   // 최댓값에 해당하는 부분을 max로 하여 m을 저장          
        int min = n;   // 최솟값에 해당하는 부분을 min로 하여 n을 저장
        int a = min;   // a에 최솟 값을 저장

            while (true)
            {
                a = max % min;   //max와 min을 나눈 나머지를 a에 저장
                max = min;       //max에 min을 저장

                if(a == 0)       //나머지가 0이라면
                {
                    break;       //중지
                }
                min = a;         //나머지는 최대공약수가 된다.
            }
            answer = new int[] { min, n * m / min }; //최소공배수를 정해주는 공식
        return answer;
    }
}
728x90