카테고리 없음

[Lv. 2] N개의 최소 공배수

녱녱 2023. 8. 28.

x, y, z 가 있을 때 x, y의 최소 공배수가 a이면 a, z의 최소공배수와 x, y, z의 최소 공배수는 같다는 기본 성질을 활용했다

유클리드 호제법 사용해서 풀고 싶었는데 기억이 안나서 두 수(x, y)의 최소 공배수는 x * y / 최대공약수라는 공식을 사용해 answer의 값을 갱신해주는 방식을 사용했다

import java.util.*;

class Solution {
    public int solution(int[] arr) {
        if(arr.length == 1){
            return arr[0];
        }
        int x = arr[0];
        int answer = 0;
        for(int i = 1; i < arr.length; i++){
            int y = arr[i];
            for(int j = x * y; j > 0; j--){
                if((j % x == 0) && (j % y == 0))
                    answer = j;
            }
            x = answer;
        }
        return answer;
    }
}

댓글