728x90
코드 힌트
- 최대공약수(GCD) 계산:
gcd 메소드는 두 숫자 n과 m의 최대공약수를 계산합니다.
유클리드 호제법을 사용하여 효율적으로 계산합니다.
이 방법은 n % m의 나머지가 0이 될 때까지 반복하여 두 숫자의 최대공약수를 찾습니다. - 최소공배수(LCM) 계산:
lcm 메소드는 두 숫자 n과 m의 최소공배수를 계산합니다.
최소공배수는 두 숫자의 곱을 그들의 최대공약수로 나누어 계산됩니다.
n * m / 최대공약수(gcd) - 배열의 최소공배수 계산:
배열의 모든 요소에 대해 최소공배수를 차례로 계산합니다.
초기값으로 배열의 첫 번째 요소를 설정하고,
나머지 요소들과의 최소공배수를 순차적으로 계산합니다.
정답은 더보기 클릭
더보기
더보기
더보기
더보기
class Solution {
public int solution(int[] arr) {
// 배열의 첫 번째 요소를 초기 결과값으로 설정
int result = arr[0];
// 배열의 두 번째 요소부터 끝까지 순차적으로 최소공배수를 계산
for (int i = 1; i < arr.length; i++) {
result = lcm(result, arr[i]);
}
// 최종 계산된 최소공배수를 반환
return result;
}
public int gcd(int n, int m) {
// 유클리드 호제법을 사용하여 최대공약수를 계산
while (m != 0) {
int temp = m;
m = n % m;
n = temp;
}
return n;
}
public int lcm(int n, int m) {
// 두 숫자의 곱을 최대공약수로 나누어 최소공배수를 계산
return n * m / gcd(n, m);
}
}
728x90
'프로그래머스(Java) > Level 2' 카테고리의 다른 글
[프로그래머스] 할인 행사 (0) | 2024.07.04 |
---|---|
[프로그래머스] 괄호 회전하기 (0) | 2024.07.01 |
[프로그래머스] 영어 끝말잇기 (0) | 2024.06.27 |
[프로그래머스] 카펫 (0) | 2024.06.27 |
[프로그래머스] 올바른 괄호 (0) | 2024.06.26 |