첫 번째 분수의 분자와 분모를 뜻하는 numer1, denom1, 두 번째 분수의 분자와 분모를 뜻하는 numer2, denom2가 매개변수로 주어집니다. 두 분수를 더한 값을 기약 분수로 나타냈을 때 분자와 분모를 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요.
class Solution {
public int[] solution(int numer1, int denom1, int numer2, int denom2) {
int[] answer = new int[2];
int a=0; int b=0; //분자 , 분모
a=numer1*denom2+numer2*denom1;
b=denom1*denom2;
//기약 분수로 바꾸는 과정 필요
while(true){
int c=0;
for(int i=2;i<=a;i++){
if(b%i==0 && a%i==0){
b=b/i; a=a/i; c=1;
}
}
if(c==0){
break;
}
}
answer[0]=a;
answer[1]=b;
return answer;
}
}
이번엔 분수를 계산하는 문제가 나왔다.
분수를 계산하기 위해서 기본적으로 분모를 똑같게 해줘야 하니
그러기 위한 변수 a,b, 를 만들어주고
기약 분수를 만들기 전 형태를 일단 구해줬다.
그리고 혹시나 해서 while 문 안에 for 문을 넣어서 기약 분수로 만드는 과정을 넣어줬다.!!!!
그리고 나온것을 답변에 누면 끝!!