𝘼𝙣𝙖𝙡𝙮𝙨𝙞𝙨/ᴀʟɢᴏʀɪᴛʜᴍ

[Programmers] 분수의 덧셈

콜라맛갈비 2023. 3. 29. 14:21
728x90

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

 

프로그래머스

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

programmers.co.kr

 

 

    # 약분되는지 판별
    div = 2
    while min(answer[0],answer[1])>=div:
        if answer[0]%div==0 and answer[1]%div==0:
            answer[0] = answer[0]//div
            answer[1] = answer[1]//div
        else:
            div+=1

약분이 안된채로 answer에 담겨 33% 정확도로 계속 나왔다. 

약분하는 코드 추가했더니 테스트 통과!

 

 

전체 코드는 아래와 같다.

def solution(numer1, denom1, numer2, denom2):
    answer = []
    if denom2 % denom1 == 0 :
        a = denom2 / denom1
        answer.append(numer1 * a + numer2)
        answer.append(denom2)
    elif denom1 % denom2 == 0 :
        a = denom1 / denom2
        answer.append(numer2 * a + numer1)
        answer.append(denom1)
    else :
        answer.append(numer1 * denom2 + numer2 * denom1)
        answer.append(denom1 * denom2)
        
    # 약분되는지 판별
    div = 2
    while min(answer[0],answer[1])>=div:
        if answer[0]%div==0 and answer[1]%div==0:
            answer[0] = answer[0]//div
            answer[1] = answer[1]//div
        else:
            div+=1
    
    return answer
728x90