[백준/Python] 1735 분수 합

커피넛·2024년 1월 17일
0

코딩 테스트

목록 보기
82/157

[백준/Python] 1735 분수 합


풀이 코드 및 설명

def gcd(a,b):
    while b !=0:
        a, b = b, a%b
    return a

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

a,b = map(int, input().split())
c,d = map(int, input().split())

f = b * d
e = a*d + c * b 

gcd_value = gcd(f,e)
f //= gcd_value
e //= gcd_value

print(e,f)

처음 문제를 접근했을 때 같은 방식이였지만 최대 공약수로 나누는 방식을 달리하였다. 한번에 값을 도출할려니 되지 않았다.

분자1 / 분모1
분자2 / 분모2

가 있을 때

더한 값의 결과를 분자3 / 분모3 이라고 했을 때 분수3을 구하는 과정은 다음과 같다

분모3 = 분모1 분모2
분자3 = 분자1
분모2 + 분자2 * 분모1

후에 기약분수로 바꾸면 되는 문제이다.

계산 후 기약 분수로 바꿔주기 위해서 분자3과 분모3의 최대 공약수를 구해 각각 나눠주면 된다.

gcd 함수를 이용하여 최대 공약수를 구하고 구한 분자3과 분모3에 각각 나눠주었다.

profile
코딩 말고 개발

0개의 댓글