[JAVA] 프로그래머스 : 분수의 덧셈

조예빈·2024년 8월 12일
0

Coding Test

목록 보기
103/138

https://school.programmers.co.kr/learn/courses/30/lessons/120808

우선 무작정 분수를 더해준다. 이후, 두 수가 같이 나누어 지는 i값을 구해 최종 분수에서 나눠주면 된다.

class Solution {
    public int[] solution(int numer1, int denom1, int numer2, int denom2) {
        int numer = denom1 * numer2 + denom2 * numer1; //분자
        int denom = denom1 * denom2; //분모
        int max = 1; //max값으로 나누므로 0이 될 수 없음
        
        for(int i=1; i<=numer && i<=denom; i++){
            if(numer % i == 0 && denom % i == 0){ //두 수로 나누어 떨어지는 수가 존재하면
                max = i; //for문을 끝까지 돌리므로 조건에 맞는 가장 큰 i값이 들어갈 것
            }
        }
        numer = numer / max;
        denom = denom / max;
        
        int[] answer = {numer, denom};
        return answer;
    }
}

profile
컴퓨터가 이해하는 코드는 바보도 작성할 수 있다. 사람이 이해하도록 작성하는 프로그래머가 진정한 실력자다. -마틴 파울러

0개의 댓글