main
[Java] 분수의 덧셈 본문
* 최대공약수 : 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
'Algorithm' 카테고리의 다른 글
[Java] 배열 자르기 (0) | 2022.11.07 |
---|---|
[Java] 배열 두 배 만들기 (0) | 2022.11.07 |
[Java] 옹알이 (1) (0) | 2022.11.07 |
[SQL] 입양 시각 구하기(1) - GROUP BY (0) | 2022.09.24 |
[SQL] 고양이와 개는 몇 마리 있을까 - GROUP BY (0) | 2022.09.24 |
Comments