class Solution {
public int[] solution(int denum1, int num1, int denum2, int num2) {
int[] answer = {};
answer = new int[2];
int son = 0;
int mother = 0 ;
mother =num1*num2;
son = denum1*num2 + denum2*num1;
answer[0] = son;
answer[1] = mother;
if(mother == son){
answer[0]=1;
answer[1]=1;
}else if(mother > son){
for (int i = 1 ; i <=son ; i++){
if((son%i==0) && (mother%i==0)){
answer[0]=son/i;
answer[1]=mother/i;
}
}
}else if(mother < son){
for (int i = 1 ; i <=mother ; i++){
if( (son%i==0) && (mother%i==0)){
answer[0]=son/i;
answer[1]=mother/i;
}
}
}
return answer;
}
}
- 분수의 덧셈 방식을 통해 덧셈하여 분자(son)와 분모(mother)를 만들어준다.
- 분자와 분모가 같을 때 는 모두 약분 되어 1/1이 되므로 answer = [1,1] 출력
- 분자가 분모보다 더 작을 때, 분자의 약수들중 분모와 나눠지는 것들을 모두 나눠준다
- 분모가 분자보다 더 작을 때, 분모의 약수들중 분자와 나눠지는 것들을 모두 나눠준다