[Programmers][Python] 분수의 덧셈
Lv.0 🔗분수의 덧셈
📝문제 요약
문제 설명
첫 번째 분수의 분자와 분모를 뜻하는 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 합니다.
✏️문제 풀이
-
분수의 덧셈을 처리하기 위한 라이브러리
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]
댓글남기기