Test/python

분수의 덧셈

soo15 2023. 5. 10. 16:16


[문제 설명]

첫 번째 분수의 분자와 분모를 뜻하는 numer1, denom1,

두 번째 분수의 분자와 분모를 뜻하는 numer2, denom2가 매개변수로 주어집니다.

두 분수를 더한 값을 기약 분수로 나타냈을 때 분자와 분모를

순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요.



[제한사항]

0  < numer1, denom1, numer2, denom2  <  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 합니다.

 

 


 

[나의 풀이]

from fractions import Fraction

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

[설명]

1. Fraction을 사용하여 분수로 나타내기

from fractions import Fraction

numer1 = 1
denom1 = 2
numer2 = 3
denom2 = 4

print(Fraction(numer1, denom1))
print(Fraction(numer2, denom2))

Out[1]:

1/2

3/4

 

 

2. 두 분수를 더하기

a = Fraction(numer1, denom1) + Fraction(numer2, denom2)
print(a)

Out[2]:

5/4

 

 

3. 더한 값의 분자와 분모를 출력하여 리스트에 넣기

print(a.numerator)    # 분자
print(a.denominator)  # 분모

Out[3]:

5   # 분자

4   # 분모