처음 코드

def solution(number1, denom1, number2, denom2):
    answer = []
    if (denom1 % denom2 == 0):
        x = denom1 // denom2
        denom2, number2 = denom2 * x, number2 * x
        answer.append(number1 + number2)
        answer.append(denom1)
    elif (denom2 % denom1 == 0):
        x = denom2 // denom1
        denom1, number1 = denom1 * x, number1 * x
        answer.append(number1 + number2)
        answer.append(denom2)
    else:
        x = denom1 * denom2
        number1 *= denom2
        number2 *= denom1
        n3 = number1 = number2
        if x % n3 == 0 or n3 % x == 0:
            
        answer.append(number1 + number2)
        answer.append(x)
    return answer

<aside> 💡

처음에 기약분수로 약분하는 메서드를 이용하지 않고, 풀어보려다가.. 코드를 작성했는데, 너무 바보 같이 적고 있었다.. 그냥 분모 분자를 통일하고 나누면 될 것을..

</aside>

import math
def solution(number1, denom1, number2, denom2):
    answer = []
    d3 = denom1 * denom2
    n3 = number1 * denom2 + number2 * denom1
    
    gcd = math.gcd(n3, d3) # 최대 공약수로 약분하는 메서드 이용
    ad3 = d3 // gcd
    an3 = n3 // gcd
    answer.append(an3)
    answer.append(ad3)
    return answer

<aside> 💡

최대 공약수로 약분하는 메서드인 gcd를 이용하면 됐었다!

그러나 아직 기초만 해서 그런지,, 입문을 너무 쉽게 봤다.

아직 Day 2 인데 벌써 import를 사용해야하는 문제가 나올줄..

다른 사람의 풀이를 보니 gcd, fraction을 사용하는 분들이 많았다.

이것이 무엇인지 공부해보자.

</aside>