알고리즘/프로그래머스

[2단계] N개의 최소공배수

hongeeii 2023. 12. 19.
728x90
반응형

 

class Solution {

     public int solution(int[] arr) {
        int answer = 1;

        for(int i = arr.length-1;i>=0;i--) {
            if(answer % arr[i] != 0) {
                answer = getLCM(answer, arr[i]);
            }
        }

        return answer;
    }

    /**
     * 최소 공배수
     * 
     * @param a
     * @param b
     * @return
     */
    private int getLCM(int a, int b) {
        return (a * b) / getGCD(a, b);
    }

    /**
     * 최대공약수
     * 
     * @param a
     * @param b
     * @return
     */
    private int getGCD(int a, int b) {
        int r = a % b;

        if (r == 0)
            return b;

        return getGCD(b, r);
    }
}
728x90
반응형

'알고리즘 > 프로그래머스' 카테고리의 다른 글

[Kotlin] 튜플  (0) 2024.01.17
[Kotlin] 다리를 지나는 트럭  (0) 2024.01.17
[Kotlin] 의상  (1) 2024.01.08
[2단계] 가장 큰 수  (0) 2023.12.05
[2단계] KAKAO BLINE RECRUITMENT - 캐시  (0) 2023.12.04

추천 글