일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 티스토리챌린지
- 리스트
- Provider
- 파이썬문법
- programmers
- filternotnull()
- 오블완
- android
- 자바
- 문자열
- nullpointerexception방지
- 자바리스트정렬
- 프로그래머스
- 파이썬
- 백준파이썬
- list
- jetpack
- Hilt
- 자바set
- ContentProvider
- Python
- disposableeffect
- 백준
- Kotlin
- 배열
- Dependency
- Java
- compose
- composelifecycle
- 자료형
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 |