class Solution {
public int[] solution(int n, int m) {
int gcd = 1, lcm;
for (int i = 2; i <= Math.min(n, m); i++) {
if (n % i == 0 && m % i == 0) gcd = i;
}
lcm = n * m / gcd;
return new int[] { gcd, lcm };
}
}
class Solution {
public int[] solution(int n, int m) {
int gcd, lcm;
int a = n, b = m;
while (b != 0) {
int tmp = a % b;
a = b;
b = tmp;
}
gcd = a;
lcm = n * m / gcd;
return new int[] { gcd, lcm };
}
}
다른 사람의 풀이를 보니 수학 공식을 사용한 사람이 있었다.
알아보니 유클리드 호제법이란 공식이 있어 그걸 사용해 풀어보았다.
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges