[JAVA 문제 풀이] 250. 최대공약수와 최소공배수

프로그래머스 (12940)
Stupefyee's avatar
May 13, 2025
[JAVA 문제 풀이] 250. 최대공약수와 최소공배수
notion image
 

내가 작성한 코드

class Solution { public int[] solution(int n, int m) { int[] answer = new int[2]; int gcd = 1; // 최대공약수 int lcm = 1; // 최소공배수 int min = Math.min(n, m); for (int i = 1; i <= min; i++) { if (n % i == 0 && m % i == 0) { gcd = i; } } lcm = (n * m) / gcd; answer[0] = gcd; answer[1] = lcm; return answer; } }
 

다른 사람의 코드

class Solution { public int[] solution(int n, int m) { int[] answer = new int[2]; answer[0] = gcd(n, m); answer[1] = (n * m) / answer[0]; return answer; } public static int gcd(int p, int q) { if (q == 0) return p; return gcd(q, p % q); } }
 
Share article

stupefyee