카테고리 없음

분수의 덧셈

lleesla 2024. 4. 3. 00:33

 

제출 코드

class Solution {
    public int[] solution(int denom1, int numer1, int denom2, int numer2) {
        int[] answer = new int[2];

        int numer = numer1*numer2;
        int denom = denom1*numer2+denom2*numer1;
        int max = 1;

        for(int i=1; i <= numer && i<= denom; i++){
            if(numer%i==0 && denom%i==0){
                max = i;
            }
        }
        answer[0] = denom/max;
        answer[1] = numer/max;

        return answer;
    }
}

 

  • 풀이
  1. numer 변수는 numer1과 numer2를 곱한 값( 두 분수의 분자를 곱한 값)
  2. denom 변수는 각 분수의 분모를 곱하여 더한 값
  3. for 조건문으로 1부터 numer과 denom 의최대공약수를 찾는다.
  4. 대공약수 값을 max 변수에 넣는다.
  5. answer 배열의 첫 번째는 denom을 최대공약수로 나눈 값을 넣고 두 번째에는 numer을 최대공약수로 나눈 값을 넣어 반환한다.