프로그래머스 연습문제 N개의 최소공배수 [JAVA] - 23년 4월 25일

Denia·2023년 4월 25일
0

코딩테스트 준비

목록 보기
182/201
post-custom-banner
//N개의 최소공배수

// 맨 처음 2개의 수에서 최소공배수를 구한다.
// 여기서 구한 최소공배수를 기반으로 다음 배열의 원소와 또 최소공배수를 구한다.
// 해당 계산을 배열이 끝날때까지 반복하면 된다.
class Solution {
    public int solution(int[] arr) {
        //첫번째요소 할당
        long answer = arr[0];

        for (int i = 1; i < arr.length; i++) {
            long tempVal = arr[i];

            long gcd = getGCD(tempVal, answer);

            answer = gcd * (answer / gcd * tempVal / gcd);
        }

        return (int) answer;
    }

    private long getGCD(long a, long b) {
        if (b == 0) {
            return a;
        } else {
            return getGCD(b, a % b);
        }
    }
}

profile
HW -> FW -> Web
post-custom-banner

0개의 댓글