일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- list
- 자바set
- 문자열
- Kotlin
- disposableeffect
- 티스토리챌린지
- android
- programmers
- ContentProvider
- 프로그래머스
- 파이썬
- nullpointerexception방지
- Provider
- Dependency
- 자바리스트정렬
- jetpack
- 배열
- 리스트
- 백준파이썬
- 백준
- 자바
- composelifecycle
- 자료형
- 파이썬문법
- filternotnull()
- Python
- Java
- 오블완
- Hilt
- compose
Archives
- Today
- Total
study gomi
[백준/baekjoon] 1735번 분수 합 (파이썬) 본문
728x90
반응형
내 제출
- 정답이 맞긴 했는데... 뭔가 지저분하다...
- 유클리드 호제법으로 구하는 게 익숙하지 않다.. for문이 더 편하다.
- for문으로 최대공약수를 구하면 시간 초과가 나온다.
# 기약분수의 분자 a와 분모를 뜻하는 b를 입력 받음
a1, origin_b1 = map(int, input().split())
a2, origin_b2 = map(int, input().split())
b1, b2 = origin_b1, origin_b2
b_multiple = b1*b2
while b2:
if b1 > b2:
b1, b2 = b2, b1
b2 %= b1
# 최소 공배수(lcm) => 이게 두 분수 합의 분모
b_sum = b_multiple // b1
# 두 분자 값의 합
a_sum = a1 * (b_sum//origin_b1) + a2 * (b_sum//origin_b2)
origin_a, origin_b = a_sum, b_sum
while b_sum:
if a_sum > b_sum:
a_sum, b_sum = b_sum, a_sum
b_sum %= a_sum
print(origin_a//a_sum, origin_b//a_sum)
결과

728x90
반응형
'Practice > Baekjoon' 카테고리의 다른 글
[백준/baekjoon] 4134번 다음 소수 (파이썬/자세한 풀이) (2) | 2024.01.10 |
---|---|
[백준/baekjoon] 2485번 가로수 (파이썬) (1) | 2024.01.10 |
[백준/baekjoon] 2798번 블랙잭 (파이썬, c++) (0) | 2024.01.05 |
[백준/baekjoon] 9506번 약수들의 합 python(파이썬) (2) | 2024.01.03 |
[백준/baekjoon] 2501번 약수 구하기 python(파이썬) (1) | 2024.01.02 |