본문 바로가기

Programmers/Level2

N개의 최소공배수

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Solution {
    public static int getLCM(int n, int m) {
        int a = n, b = m;
        // 유클리드 호제법
        while (b != 0) {
            int r = a % b;
            a = b;
            b = r;
        }
        return n * m / a;
    }
    public int solution(int[] arr) {
        int answer = arr[0];
        for (int i = 0; i < arr.length - 1; i++) {
            answer = getLCM(answer, arr[i + 1]);
        }
        return answer;
    }
}
cs

최소공배수를 구하고, 이를 다시 인자로 넘겨 반복하였다.

'Programmers > Level2' 카테고리의 다른 글

올바른 괄호  (0) 2021.07.31
피보나치 수  (0) 2021.07.30
땅따먹기  (0) 2021.07.30
스킬트리  (0) 2021.07.30
[3차] 파일명 정렬  (0) 2021.07.30