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
반응형
최근댓글