알고리즘/Java
프로그래머스 코딩테스트 Level 2. N개의 최소공배수 with Java
yhyuk
2024. 9. 22. 17:41
728x90
반응형
문제
https://school.programmers.co.kr/learn/courses/30/lessons/12953
풀이
import java.util.*;
class Solution {
public int solution(int[] arr) {
Arrays.sort(arr);
for (int i=0; i<arr.length-1; i++) {
int num = getGCD(arr[i+1], arr[i]);
arr[i+1] = (arr[i] * arr[i+1]) / num;
}
return arr[arr.length - 1];
}
// 최대 공약수
public static int getGCD(int n1, int n2) {
if (n1 % n2 == 0) {
return n2;
}
return getGCD(n2, n1%n2);
}
}
1. 최소공배수: (n1 * n2) / n1과 n2 의 최소공약수
2. 최소공약수: 유클리드 호제법
3. 최대공약수를 활용해 탐색하며 마주하는 두 정수에 대해 최소공배수를 도출
728x90
반응형