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 # 분모