본문 바로가기
코딩테스트/programmers

[코딩테스트/programmers] Lv.0 분수의 덧셈

by 기록하는_사람 2022. 10. 14.

문제

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

 

출력

denum1 um1 denum2 num2 result
1 2 3 4 [5, 4]
9 2 1 3 [29, 6]

 

import math;

def solution(denum1, num1, denum2, num2):
    answer = []
    
    denum = (denum1 * num2) + (denum2 * num1)
    num = num1 * num2

    t = math.gcd(denum, num)

    denum = denum / t
    num = num / t
    
    answer.append(denum)
    answer.append(num)
    
    return answer

 

💡 최대공약수와 최소공배수 구하기

최대공약수 : math.gcd( )

최소공배수 : math.lcm( )

댓글