프로그래밍/Python

[프로그래머스] 분수의 덧셈 Python

민또배기 2023. 1. 11. 01:40
반응형

https://school.programmers.co.kr/learn/courses/30/lessons/120808

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

분수의 덧셈입니다. 오오...이건.. 어떻게 해야하지..생각을 했지만 분수표현이 있었는데...라는 생각이 문득들었는데 있었습니다. 

fractions라는 모듈을 사용하면 됩니다.

복사 붙여넣기로 하셔도 되지만 띄어쓰기 조심하세요

from fractions import Fraction
    
def solution(numer1, denom1, numer2, denom2):
    answer = []
    f = Fraction(numer1, denom1) + Fraction(numer2, denom2) 
    answer.append(f.numerator)
    answer.append(f.denominator)
    
    return answer

Fraction(분자, 분모)이고 보시는 것 처럼 사칙연산이 됩니다.

또 numerator(분자), denominator(분모)도 출력할 수 있습니다.

 

GCD, 최대공약수이죠. 이걸 사용하신 분도 계셨습니다.

import math

def solution(denum1, num1, denum2, num2):
    denum = denum1 * num2 + denum2 * num1
    num = num1 * num2
    gcd = math.gcd(denum, num)
    return [denum//gcd, num//gcd]

 

반응형