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
반응형
'알고리즘 > Java' 카테고리의 다른 글
프로그래머스 코딩테스트 Level 2. 의상 with Java (0) | 2024.09.23 |
---|---|
프로그래머스 코딩테스트 Level 2. 연속 부분 수열 합의 개수 with Java (0) | 2024.09.22 |
프로그래머스 코딩테스트 Level 2. 멀리뛰기 with Java (0) | 2024.09.20 |
프로그래머스 코딩테스트 Level 2. 구명보트 with Java (0) | 2024.09.20 |
프로그래머스 코딩테스트 Level 2. 피보나치 수 with Java (1) | 2024.09.17 |
댓글