728x90
문제 설명
첫 번째 분수의 분자와 분모를 뜻하는 numer1, denom1, 두 번째 분수의 분자와 분모를 뜻하는 numer2, denom2가 매개변수로 주어집니다.
두 분수를 더한 값을 기약 분수로 나타냈을 때 분자와 분모를 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요.
https://school.programmers.co.kr/learn/courses/30/lessons/120808
제한 사항
0 <numer1, denom1, numer2, denom2 < 1,000
예제
numer1 | denom1 | numer2 | denom2 | result |
1 | 2 | 3 | 4 | [5, 4] |
9 | 2 | 1 | 3 | [29, 6] |
문제 풀이
def gcd(a, b):
while b:
a, b = b, a % b
return a
def solution(numer1, denom1, numer2, denom2):
numer = numer1 * denom2 + numer2 * denom1
denom = denom1 * denom2
common_divisor = gcd(numer, denom)
return [numer // common_divisor, denom // common_divisor]
파이썬을 독학하시는 분들에게 도움이 되길 바라며,
혹 더 좋은 방법이 있거나 오류가 있다면 편하게 말씀 부탁드립니다.
728x90