Python
: 주어진 두 숫자의 최대공약수를 구하는 함수
import math # math 모듈
math.gcd(a,b) # gcd 최대공약수 함수
function gcd(max, min) {
if (max % min === 0) return min;
if (max % min !== 0) return gcd(min, max % min);
}
Question
첫 번째 분수의 분자와 분모를 뜻하는 numer1, denom1, 두 번째 분수의 분자와 분모를 뜻하는 numer2, denom2가 매개변수로 주어집니다. 두 분수를 더한 값을 기약 분수로 나타냈을 때 분자와 분모를 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요.
My Answer
import math
def solution(numer1, denom1, numer2, denom2):
denom = denom1 * denom2
numer = numer1 * denom2 + numer2 * denom1
gcd = math.gcd(a,b) # a,b의 최대공약수
if gcd == 1:
answer = [numer, denom]
else:
answer = [numer/gcd, denom/gcd]
return answer
/ : 나눔 연산자 (실수형)
// : 나눔 연산자 (정수형) , 몫
Develop Answer
import math
def solution(numer1, denom1, numer2, denom2):
denom = denom1 * denom2
numer = numer1 * denom2 + numer2 * denom1
gcd = math.gcd(a,b)
answer = [numer//gcd, denom//gcd]
return answer
불필요한 연산을 줄이고자 최대한 노력할것!