예제:
n | m | return |
3 | 12 | [3, 12] |
2 | 5 | [1, 10] |
제한 조건:
- 두 수는 1이상 1000000이하의 자연수입니다.
Solution #1
class Solution {
public int[] solution(int n, int m) {
int temp = 1;
int originM = m, originN = n;
while (temp!=0){
temp = m % n;
m = n;
n = temp;
}
return new int[]{m, (originM/m) * (originN/m) * m};
}
}
Result #1
💡 유클리드 호제법을 이용하여 최대공약수를 구한다. 최대공약수를 구하면 공식을 통해 최소 공배수도 구할 수 있다.
More Algorithm!
👇👇
github.com/ggujangi/ggu.programmers
출처 : 프로그래머스
'프로그래머스 - JAVA > Level 1' 카테고리의 다른 글
[JAVA] 프로그래머스 Lv.1 : 제일 작은 수 제거하기 (0) | 2021.04.02 |
---|---|
[JAVA] 프로그래머스 Lv.1 : 짝수와 홀수 (0) | 2021.04.02 |
[JAVA] 프로그래머스 Lv.1 : 콜라츠 추측 (0) | 2021.04.01 |
[JAVA] 프로그래머스 Lv.1 : 평균 구하기 (0) | 2021.04.01 |
[JAVA] 프로그래머스 Lv.1 : 하샤드 수 (0) | 2021.04.01 |