[Programmers] 지역별 주문의 특징
출처
문제
풀이
- import math, gcd의 존재를 모른상태로 무식하게 풀었다.
- 편리한 기능을 활용하자.
1
2
3
4
5
6
7
8
9
10
11
def solution(numer1, denom1, numer2, denom2):
answer = []
numer = numer1*denom2 + numer2*denom1 # 분자
denom = denom1*denom2 # 분모
for i in range(min(numer, denom), 0, -1): # 최대공약수를 구하기 위한 반복문
if (numer % i == 0) & (denom % i == 0):
break # 최대공약수를 찾으면 반복문 종료
answer = [numer//i, denom//i]
return answer # 결과 반환
다른 사람의 풀이 1
1
2
3
4
5
from fractions import Fraction
def solution(denum1, num1, denum2, num2):
answer = Fraction(denum1, num1) + Fraction(denum2, num2)
return [answer.numerator, answer.denominator]
다른 사람의 풀이 2
1
2
3
4
5
6
7
import math
def solution(denum1, num1, denum2, num2):
denum = denum1 * num2 + denum2 * num1
num = num1 * num2
gcd = math.gcd(denum, num)
return [denum//gcd, num//gcd]