첫 번째 분수의 분자와 분모를 뜻하는 numer1
, denom1
, 두 번째 분수의 분자와 분모를 뜻하는 numer2
, denom2
가 매개변수로 주어집니다. 두 분수를 더한 값을 기약 분수로 나타냈을 때 분자와 분모를 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요.
numer1
denom1
numer2
denom2
numer1 | denom1 | numer2 | denom2 | result |
---|---|---|---|---|
1 | 2 | 3 | 4 | [5, 4] |
9 | 2 | 1 | 3 | [29, 6] |
입출력 예 #1
입출력 예 #2
def solution(numer1, denom1, numer2, denom2):
answer = []
# 분모가 다를때
if denom1 != denom2:
num1 = numer1 * denom2
den1 = denom1 * denom2
num2 = numer2 * denom1
den2 = denom2 * denom1
sum_num = num1 + num2
sum_den = denom1 * denom2
# 분모가 같을 때
else:
sum_num = numer1 + numer2
sum_den = denom1
# 분자와 분모가 같을 때
if sum_num == sum_den:
answer = [1,1]
# 다를 때
else:
for i in range(2, max(sum_num, sum_den)):
# 나눌 수 있으면 나누기
if (sum_num % i == 0) and (sum_den % i == 0):
sum_num = sum_num // i
sum_den = sum_den // i
answer = [sum_num, sum_den]
return answer
https://school.programmers.co.kr/learn/courses/30/lessons/120808?language=python3