수학 문제
문제링크
풀이 접근
- 최대공약수를 구한다.
- 구해놓은 최대공약수로 최소공배수를 다시 구하면 끝
구현 코드
class Solution {
public int solution(int[] arr) {
int answer = 0;
int lcmResult = calculateLCM(arr);
return lcmResult;
}
public static int gcd(int a, int b) {
while (b != 0) {
int temp = b;
b = a % b;
a = temp;
}
return a;
}
// 최소공배수 계산하는 메서드
public static int lcm(int a, int b) {
return (a * b) / gcd(a, b);
}
// N개의 숫자들의 최소공배수 계산하는 메서드
public static int calculateLCM(int[] numbers) {
int result = numbers[0];
for (int i = 1; i < numbers.length; i++) {
result = lcm(result, numbers[i]);
}
return result;
}
}
정리
- 맨날까먹는 수학문제인데 그냥 외워야 할 거 같다 ㅜ
댓글남기기