

먼저 최대 공약수를 구하기 위해서는 1부터 n까지의 수 중에서 n과 m에서 나누었을 때 둘 다 나머지가 0인 가장 큰 수를 구하면 된다.
두 번째로 최소 공배수를 구하기 위해서는 m의 배수 중에서 n으로 나누었을 때 나머지가 0인 가장 작은 수를 구하면 된다.
class Solution {
public int[] solution(int n, int m) {
int greatestCommonFactor = getGreatestCommonFactor(n, m);
int leastCommonMultiple = getLeastCommonMultiple(n, m);
return new int[]{greatestCommonFactor, leastCommonMultiple};
}
// 최대 공약수 구하는 함수
private int getGreatestCommonFactor (int n, int m) {
for (int i = n; i > 1; i --) {
if (n % i == 0 && m % i == 0) {
return i;
}
}
return 1;
}
// 최소 공배수를 구하는 함수
private int getLeastCommonMultiple (int n, int m) {
for (int i = 1; ; i ++) {
int num = m*i;
if (num % n == 0) {
return m*i;
}
}
}
}