🪄내가 한 solution - fractions 사용

  • fractions.Fraction(분자, 분모)
  • numerator, denominator 메소드 사용
    • a.numerator : 분자
    • a.denominator : 분모
import fractions

def solution(denum1, num1, denum2, num2):
    result = fractions.Fraction(denum1, num1) + fractions.Fraction(denum2, num2)
    answer = [result.numerator, result.denominator]
    return answer

 

🪄내가 한 solution - gcd 사용

  • math.gcd(n1, n2)
  1. 분자의 합 구하기
  2. 분모 구하기
  3. 분자와 분모의 최대공약수 구하기
  4. 분자 분모를 최대공약수로 나누어(약분) 배열에 담아 리턴하기
import math

def solution(denum1, num1, denum2, num2):
    boonja = denum1 * num2 + denum2 * num1 # 분자의 합
    boonmo = num1 * num2 # 분모
    gcd_value = math.gcd(boonja, boonmo) # 분자와 분모의 최대공약수 구하기
    return [boonja // gcd_value, boonmo // gcd_value]

 

최대공약수 함수 gcd

  • greatest common divisor
  • import math
  • math.gcd(n1, n2, ... )
    • 인자로 숫자들을 입력
    • 0개부터 n개까지
  • 인자로 들어온 숫자들의 최대공약수(정수)를 반환
    • 인자가 0개인 경우 반환 값은 0. 모든 인자의 값이 0인 경우에도 반환 값은 0
    • gcd(0, n) = n
import math

print(math.gcd(3)) # 3출력
print(math.gcd(3, 6)) # 3출력
print(math.gcd(66, 22, 11)) # 11출력

 

최소공배수 함수 lcm

  • least common multiple
  • import math
  • math.lcm(n1, n2, ... )
    • 인자로 숫자들을 입력
    • 0개부터 n개까지
  • 인자로 들어온 숫자들의 최소공배수(정수)를 반환
    • 인자가 0개인 경우 반환 값은 1. 인자 중에 하나라도 0인 경우에는 0 반환
    • lcm(n, 0) = 0
import math

print(math.lcm(2)) # 2출력
print(math.lcm(2, 4)) # 4출력
print(math.lcm(66, 22, 11)) # 66출력

'Python > 공부' 카테고리의 다른 글

파이썬 n진수 변환  (0) 2023.01.07
입력  (0) 2022.12.31
리스트 컴프리헨션  (0) 2022.12.31
Python 내장함수 - enumerate  (0) 2022.03.23
클래스  (0) 2022.03.18

+ Recent posts