본문 바로가기
알고리즘/프로그래머스

(LEVEL 2)프로그래머스 - N개의 최소공배수(JAVA)

by 꾸준함 2023. 1. 2.

문제


입출력 예


풀이.

 

1. 유클리드 호제법을 이용하여 gcd함수 구현, lcm함수 구현

2. 0번째 값을 tmp에 저장후 크기만큼 돌며 lcm함수 실행 후 tmp에 해당 값 저장

>> 값 하나씩 비교하며 최대공약수, 최소공배수를 구해준다.


class Solution {
    public int solution(int[] arr) {
        int tmp = arr[0];
        for(int i=0;i<arr.length-1;i++){
            tmp = lcm(tmp,arr[i+1]);
        }
        
        return tmp;
    }
    
    public int gcd(int a,int b){
        if( b == 0 ) {
            return a;
        }
        else {
            return gcd(b,a%b);
        }
    }
    
    public int lcm(int a,int b){
        return a*b/gcd(a,b);
    }
}