Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

개발계발

프로그래머스 - 분수의 덧셈(120808) 본문

알고리즘

프로그래머스 - 분수의 덧셈(120808)

Ju_Nik_E 2024. 4. 23. 14:25

문제 설명

 

제한사항

 

접근방식

- denom1, denom2의 최소공배수를 구함

- 배열에 분자 * (최소공배수 / 분모)끼리 더한 값과, 최소 공배수를 담아 반환

 

풀이 코드

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(numer1, denom1, numer2, denom2):
    lcm_value = lcm(denom1, denom2)
    
    adjusted_numer1 = numer1 * (lcm_value // denom1)
    adjusted_numer2 = numer2 * (lcm_value // denom2)
    total_numer = adjusted_numer1 + adjusted_numer2
    
    final_gcd = gcd(total_numer, lcm_value)
    
    reduced_numer = total_numer // final_gcd
    reduced_denom = lcm_value // final_gcd
    
    return [reduced_numer, reduced_denom]