티스토리 뷰

TIL/알고리즘

분수의 덧셈

YEIKKI 2023. 2. 17. 17:50

 

1. 문제설명

2. 제한사항 및 입출력 예

1.분수의 덧셈 전 분모가 서로 다르게 때문에 통분(분모가 다른 2개 이상의 분수의분모를 같게해줌)

2.위 사진에 첫번째결과를 보면 기약 분수(분자 와 분모가 서로소(둘의 공약수가 1밖에 없는)상태여서 (다시 말해 약분이 다 끝나) 더 이상  약분을 할 수 없는   분수)로 결과를 나타내준다. 

3.기약분수는 분자와분모의 최대공약수로 약분하면 쉽게 구할수있다. 여기서 사용되는 유클리드 호제법

 

https://youtu.be/R1gxRwXRpMQ

 

 
 
 
<java />
 
class Solution {
    public int[] solution(int denum1, int num1, int denum2, int num2) {
        
       int [] result= new int[2];
        
        result[0]=denum1 *num2+denum2*num1;
        result[1]=num1*num2;
        
        int Gcd=getGcd(result[0],result[1]);
        result[0]= result[0]/Gcd;
        result[1]=result[1]/Gcd;
        
        return result;
        
        
    }
    public int getGcd(int a, int b){
        if(a%b==0){
            return b;
        }
        return getGcd(b,a%b);
    }
}