https://school.programmers.co.kr/learn/courses/30/lessons/120808
분수의 덧셈
문제 설명
첫 번째 분수의 분자와 분모를 뜻하는 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) 분자 < 분모 케이스를 놓치지말자
2) for i in range(a,b)에서 b는 포함안됨
def solution(numer1, denom1, numer2, denom2):
bunja = numer1 * denom2 + numer2 * denom1
bunmo = denom1 * denom2
div = 1
for i in range(2, min(bunmo, bunja) + 1):
if bunja % i == 0 and bunmo % i == 0:
div = i
return [bunja // div, bunmo // div]
'문제풀이 > 파이썬' 카테고리의 다른 글
#7 [프로그래머스][Lv.0] 나이 출력 (0) | 2023.02.14 |
---|---|
#6 [프로그래머스][Lv.0] 배열 두 배 만들기 (0) | 2023.02.14 |
#4 [프로그래머스][Lv.0] 숫자 비교하기 (0) | 2023.02.14 |
#3 [프로그래머스][Lv.0] 두 수의 나눗셈 (0) | 2023.02.14 |
#2 [프로그래머스][Lv.0] 두 수의 합 / 두 수의 차 / 두 수의 곱 / 몫 구하기 / 두 수의 나눗셈 / 나머지 구하기 (0) | 2023.02.14 |
댓글