[python_파이썬_Fraction함수]백준_1735번_분수 합_풀이
2024. 5. 13. 20:38ㆍ코드리뷰
728x90
반응형
공부하는허딩크 : https://www.youtube.com/live/Po-wyZ1d0yg?feature=shared
최소공배수 부분만 확실히 알고 있다면 바로 넘어갈 수 있는 문제이다.
★공배수 관련 정리 : https://heodinkcodingdiary.tistory.com/56
분수의 합을 구하는 것처럼 분모끼리 곱해주고 분자 * 상대방 분모를 해서 더해준다.
그 다음 해당 분수를 기약분수로 만들기 위해서는 각 분자, 분모에 최대공약수로 나눠주면 해결된다.
<첫번째 시도 : 맞았습니다.>
최대공약수로 나누면 기약분수가 되는걸 알기 위해서 아래처럼 두 숫자의 약수를 뽑아봤다.
#12, 36
#12 : 1, 2, 3, 4, 6, 12
#36 : 1, 2, 3, 4, 6, 9, 12, 18, 16
import sys
import math
input = sys.stdin.readline
A, B = map(int, input().split())
a, b = map(int, input().split())
son = A*b + a*B
mother = B*b
gcd = math.gcd(son, mother)
print(son//gcd, mother//gcd)
<다른사람풀이 참고>
분수관련 함수가 있네. from fractions import Fraction
새로운 코드 학습 : Faction(A, B) => 분수로 나오고 기약분수로 만들어 준다.
answer.numerator : 분자, answer.denominator : 분모 : 따로 인덱싱은 안되네....
import sys
import math
from fractions import Fraction
input = sys.stdin.readline
A = input().strip().split()
B = input().strip().split()
answer = Fraction(A[0] +'/'+ A[1]) + Fraction(B[0]+'/'+ B[1]) #31/35
answer_a = Fraction(int(A[0]), int(A[1])) + Fraction(int(B[0]), int(B[1])) #31/35
print(answer.numerator, answer.denominator)
728x90
반응형
'코드리뷰' 카테고리의 다른 글
[python_파이썬_pass]프로그래머스_LV1_푸드 파이트 대회_풀이 (0) | 2024.05.14 |
---|---|
★[python_파이썬_시간복잡도 고민 중요]백준_2485번_가로수_풀이 (0) | 2024.05.13 |
[python_파이썬_pass]백준_13241번_최소공배수_풀이 (0) | 2024.05.13 |
[python_파이썬_공배수 시간복잡도_유클리드호제법]백준_1934번_최소공배수_풀이 (0) | 2024.05.12 |
[python_파이썬]백준_11478번_서로 다른 부분 문자열의 개수_풀이 (0) | 2024.05.11 |