Image

Lv.0 🔗분수의 덧셈

📝문제 요약

문제 설명

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


제한사항

  • 0 <numer1denom1numer2denom2 < 1,000

입출력 예

numer1 denom1 numer2 denom2 result
1 2 3 4 [5, 4]
9 2 1 3 [29, 6]

입출력 예 설명

입출력 예 #1

  • 1 / 2 + 3 / 4 = 5 / 4입니다. 따라서 [5, 4]를 return 합니다.

입출력 예 #2

  • 9 / 2 + 1 / 3 = 29 / 6입니다. 따라서 [29, 6]을 return 합니다.


✏️문제 풀이

  • 분수의 덧셈을 처리하기 위한 라이브러리 Fraction을 불러옴

      from fractions import Fraction
    
  • 두 분수를 더하기 위해 통분

      def solution(numer1, denom1, numer2, denom2):
      		# 통분 후 분자의 값 계산
          a = (numer1*denom2)+(numer2*denom1)
          # 통분 후 분모의 값 계산
          b = denom1 * denom2
    
  • 분수를 약분하여 반환

      # Fraction을 사용해 자동으로 최대공약수로 약분
      answer = Fraction(a, b)
      # 결과를 [분자, 분모] 형태의 리스트로 반환
      return [answer.numerator, answer.denominator]
    


💯제출 코드

from fractions import Fraction

def solution(numer1, denom1, numer2, denom2):
    a = (numer1*denom2)+(numer2*denom1)
    b = denom1 * denom2
    answer = Fraction(a, b)
    return [answer.numerator, answer.denominator]

댓글남기기