728x90
반응형

문제  설명: 

첫 번째 분수의 분자와 분모를 뜻하는 numer1, denom1,
두 번째 분수의 분자와 분모를 뜻하는 numer2, denom2가 매개변수로 주어집니다. 
두 분수를 더한 값을 기약 분수로 나타냈을 때 분자와 분모를 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요.

 

 

제한조건

0 <numer1, denom1, numer2, denom2 < 1,000




입출력 예시

numer1	denom1	numer2	denom2	result
1	2	3	4	[5, 4]
9	2	1	3	[29, 6]

입출력 설명

입출력 예 #1

1 / 2 + 3 / 4 = 5 / 4입니다. 따라서 [5, 4]를 return 합니다.
입출력 예 #2

9 / 2 + 1 / 3 = 29 / 6입니다. 따라서 [29, 6]을 return 합니다.

 

 

코드 

import math

def solution(numer1, denom1, numer2, denom2):
    boonja = numer1 * denom2 + numer2 * denom1
    boonmo = denom1 * denom2
    gcd_value = math.gcd(boonmo, boonja)
    
    answer = [boonja/gcd_value, boonmo/gcd_value]
    return answer

 

코드2  

def gcd(x,y):
    if x%y == 0:
        return y
    return gcd(y, x%y)

def solution(numer1, denom1, numer2, denom2):
    boonja = numer1 * denom2 + numer2 * denom1
    boonmo = denom1 * denom2
    gcd_value = gcd(boonmo, boonja)
    
    answer = [boonja/gcd_value, boonmo/gcd_value]
    return answer
728x90
반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기