문제
첫 번째 분수의 분자와 분모를 뜻하는 denum1, num1, 두 번째 분수의 분자와 분모를 뜻하는 denum2, num2가 매개변수로 주어집니다. 두 분수를 더한 값을 기약 분수로 나타냈을 때 분자와 분모를 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요.
입출력
denum1 | um1 | denum2 | num2 | result |
1 | 2 | 3 | 4 | [5, 4] |
9 | 2 | 1 | 3 | [29, 6] |
답
import math;
def solution(denum1, num1, denum2, num2):
answer = []
denum = (denum1 * num2) + (denum2 * num1)
num = num1 * num2
t = math.gcd(denum, num)
denum = denum / t
num = num / t
answer.append(denum)
answer.append(num)
return answer
💡 최대공약수와 최소공배수 구하기
최대공약수 : math.gcd( )
최소공배수 : math.lcm( )
'코딩테스트 > programmers' 카테고리의 다른 글
[코딩테스트/programmers] Lv.0 직각삼각형 출력하기 (0) | 2022.10.17 |
---|---|
[코딩테스트/programmers] Lv.0 문자열 정렬하기 (2) (1) | 2022.10.15 |
[코딩테스트/programmers] Lv.0 옷가게 할인 받기 (1) | 2022.10.15 |
[코딩테스트/programmers] Lv.0 피자 나눠 먹기(2) (0) | 2022.10.15 |
[코딩테스트/programmers] Lv.0 최빈값 구하기 (1) | 2022.10.15 |
댓글