[Programmers] 코딩테스트 입문 120808. 분수의 덧셈

이지현·2023년 1월 30일
0

Algorithm

목록 보기
3/81
post-thumbnail

✔️ Problem URL

분수의 덧셈


✔️ Problem

첫 번째 분수의 분자와 분모를 뜻하는 numer1, denom1, 두 번째 분수의 분자와 분모를 뜻하는 numer2, denom2가 매개변수로 주어집니다. 두 분수를 더한 값을 기약 분수로 나타냈을 때 분자와 분모를 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요.


✔️ Code (2023.01.30)

💡 이 문제는 계산된 분자/분모의 최대공약수를 구하는 것이 관건이였다.

class Solution {
    public int[] solution(int numer1, int denom1, int numer2, int denom2) {    
        int numer3 = numer1*denom2 + numer2*denom1;
        int denom3 = denom1 * denom2;
        
        for(int i = numer3-1; i > 1; i--) {
            if(numer3 % i == 0 && denom3 % i == 0) {
                numer3 /= i;
                denom3 /= i;
            }
        }
        
        int[] answer = {numer3, denom3};
        return answer;
    }
}

✔️ Code (2023.02.04)

profile
2023.09 ~ 티스토리 이전 / 2024.04 ~ 깃허브 블로그 이전

0개의 댓글