최대공약수와 최소공배수

문제


나의 생각

for문을 1 ~ 두 수에서 작은 값 까지 돌리고 거기서 나오는 i 값을 가지고 n * m 을 나누면 최소공배수가 나온다. 

i 값은 최대공약수

n * m / i 는 최대공배수


나의 답안

public static int[] solution(int n, int m) {
    int[] answer = new int[2];
    int num = n > m ? m : n;
    int a = 0;
    for (int i = 1; i <= num; i++) {
        if ( n % i == 0 && m % i == 0 ) {
            a = i;
            answer[0] = a;
        }
    }

    answer[1] = (n * m) / a;

    return answer;
}

'Programmers 문제풀이 > Lv.1' 카테고리의 다른 글

예산  (0) 2023.03.16
3진법 뒤집기  (0) 2023.03.16
직사각형 별찍기  (0) 2023.03.16
행렬의 덧셈  (0) 2023.03.15
부족한 금액 계산하기  (0) 2023.03.15