[프로그래머스] 분수의 덧셈
내 풀이
1)
from fractions import Fraction
def solution(numer1, denom1, numer2, denom2):
result = Fraction(numer1, denom1) + Fraction(numer2, denom2)
return [result.numerator, result.denominator]
- Fraction 클래스를 사용하여 분수의 덧셈을 아주 쉽게 구현할 수 있다.
- 덧셈후의 결과는 기약분수로 표현된다.
2)
def solution(numer1, denom1, numer2, denom2):
numer = numer1 * denom2 + numer2 * denom1
denom = denom1 * denom2
gcd = getGcd(denom, numer)
return [numer / gcd, denom / gcd]
def getGcd(a, b):
return getGcd(b, a % b) if a % b != 0 else b
- 최대공약수를 구하는 공식을 동료에게 설명듣고서 코드로 작성했다.
- Fraction을 사용하는것도 좋지만 재귀로 직접 풀어보는것도 좋다.