Algorithm
[Java] 분수의 덧셈
1984
2022. 11. 7. 18:15
* 최대공약수 : gcd
private static int gcdMethod(int a, int b) {
BigInteger b1 = BigInteger.valueOf(a);
BigInteger b2 = BigInteger.valueOf(b);
BigInteger gcd = b1.gcd(b2);
return gcd.intValue();
}
* 최소공배수 : lcm
* 기약분수 : 분자와 분모를 최대공약수로 나눠준다.
import java.math.BigInteger;
class Solution {
public int[] solution(int denum1, int num1, int denum2, int num2) {
int denum = denum1 * num2 + denum2 * num1;
int num = num1 * num2;
int gcd_num = gcdMethod(denum, num);
int[] answer = {denum / gcd_num, num / gcd_num};
return answer;
}
private static int gcdMethod(int a, int b) {
BigInteger b1 = BigInteger.valueOf(a);
BigInteger b2 = BigInteger.valueOf(b);
BigInteger gcd = b1.gcd(b2);
return gcd.intValue();
}
}
728x90