본문 바로가기
프로그래머스/0단계

(Python/LV0) 분수의 덧셈

by windy7271 2022. 10. 19.
728x90
반응형

문제 출처:https://school.programmers.co.kr/learn/courses/30/lessons/120808

 

프로그래머스

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

programmers.co.kr

풀이:


def gcd(a, b):  # 최대공약수
    while b > 0:
        a, b = b, a % b
    return a


def lcm(a, b):
    return a * b // gcd(a, b)

def solution(denum1, num1, denum2, num2):

    down = lcm(num1,num2)
    up = (denum1 * (down//num1)) + (denum2 * (down//num2))

    if(gcd(up,down)) == 1:
        return [up,down]
    else:
        A = gcd(up,down)
        return [up//A, down// A]

0레벨  마지막 페이지는  1레벨보다 어려운듯??

 

import fractions

fractions.Fraction(up,down)

이렇게 하면 5/4 로 해준다

근데 슬라이싱안돼서 못 써먹음

    print(B.numerator)  분자
    print(B.denominator) 분모
    
구해주는 내장함수가 있었음
반응형

댓글