✨ 공부 기록/알고리즘

[프로그래머스 lv 0] 분수의 덧셈 (코딩테스트 입문)_Fraction 사용

LaonMoon 2025. 3. 4. 20:07

아이디어 : 일단 분모 통분을 먼저 해야할 것 같다. 최소공배수를 어떻게 찾지...? 아니면 어차피 숫자가 그렇게 크지 않으니 두 분모를 곱하는 것도 나쁘진 않을 것 같다.

 

20/30이 있을 때 10으로 나누어 진다는건 어떻게 알지...? -> 결국은 Fraction이라는 라이브러리를 사용했다. 

 

from fractions import Fraction

def solution(numer1, denom1, numer2, denom2):
    answer = []
    
    if denom1==denom2:
        new_numer = numer1+numer2
        new_denom = denom1
    else:
        new_numer = numer1*denom2+numer2*denom1
        new_denom = denom1*denom2
    
    ans = Fraction(new_numer,new_denom)
    answer.extend([ans.numerator, ans.denominator])
    return answer