알고리즘/프로그래머스
[2단계] N개의 최소공배수
hongeeii
2023. 12. 19. 12:40
728x90
반응형
class Solution {
public int solution(int[] arr) {
int answer = 1;
for(int i = arr.length-1;i>=0;i--) {
if(answer % arr[i] != 0) {
answer = getLCM(answer, arr[i]);
}
}
return answer;
}
/**
* 최소 공배수
*
* @param a
* @param b
* @return
*/
private int getLCM(int a, int b) {
return (a * b) / getGCD(a, b);
}
/**
* 최대공약수
*
* @param a
* @param b
* @return
*/
private int getGCD(int a, int b) {
int r = a % b;
if (r == 0)
return b;
return getGCD(b, r);
}
}
728x90
반응형