코딩테스트/[JAVA] 백준
[백준 | JAVA | 1735번] 분수 합
냠냠쿠
2023. 11. 3. 09:04
728x90
https://www.acmicpc.net/problem/1735
📝 나의 풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int a1 = scanner.nextInt();
int b1 = scanner.nextInt();
int a2 = scanner.nextInt();
int b2 = scanner.nextInt();
int a3 = a1*b2 + a2*b1;
int b3 = b1*b2;
// 분자, 분모의 최소 공약수를 구하여 분자, 분모를 나누어 기약분수를 만들어준다.
int gcd = getGCD(a3,b3);
System.out.println(a3/gcd +" "+b3/gcd);
}
//유클리드 호제법 최소 공약수를 구한다.
public static int getGCD(int n, int m) {
if(n%m==0) {
return m;
} else {
return getGCD(m, n%m);
}
}
}
- 기약분수 만드는걸 생각도 못하고있어서 한참 삽질했다..ㅠ (문제 잘 읽자...)
- 분수를 더해주고, 유클리드 호제법을 통해 분자, 분모의 최소공약수를 구해 나누어주면 기약분수가 된다.
728x90