#유형 : 수학

#난이도 : LV2

# 최대공약수와 최소공배수의 원리를 이해하고 있으면 쉽게 접근할 수 있던 문제

# 너무 오랜만에 풀어서 최소공배수 원리를 까먹었다.. 

* 최소공배수 = 두 수의 곱 / 두수의 최대공약수

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class Solution {
    public int solution(int[] arr) {
        int answer = arr[0];
        
        for(int i=0; i<arr.length; i++){
            answer = lcm(answer, arr[i]);
        }
        return answer;
    }
    
    static int gcd(int a, int b){
        if(a%b == 0){
            return b;
        }
        
        return gcd(b, a%b);
    }
    
    static int lcm(int a, int b){
        return a*/ gcd(a,b);
    }
}
cs

+ Recent posts