티스토리 뷰
728x90
반응형
알고리즘을 풀다가 최대공약수를 구해야 하는 문제가 나와, 별생각 없이 순진하게 아래와 같이 풀었다.
import sys
a, b = map(int, sys.stdin.readline().split())
x = max(a, b)
y = min(a, b)
while x % y != 0:
z = x % y
x = y
y = z
print(a * b // y)
유클리드 호제법을 사용해서 간단하게 풀었다고 생각하고 넘어갔는데..
혹시나 해서 검색해보니 역시나 파이썬 math 라이브러리에는 최대공약수와 최소공배수를 구해주는 함수가 있었다!
그것도 유클리드 호제법을 이용해 최적화가 되어 있는!
적잖이 김이 빠지지만, 사용 방법은 아래와 같다.
import math
# 최대공약수
print(math.gcd(35, 65))
# 최소공배수
print(math.lcm(35, 65))
# 최대공약수
print(math.gcd(2, 4, 6, 8, 10))
# 최소공배수
print(math.lcm(2, 4, 6, 8, 10))
5
455
2
120
테스트에서 라이브러리를 마음껏 사용하게 해 주는지는 모르겠으나..
잊을만하면 느끼지만 수상할 정도로 수학 관련 함수가 잘 구성되어 있는 파이썬이다.
반응형
'Python > Python' 카테고리의 다른 글
[Python]enumerate() 내장함수 (0) | 2023.05.21 |
---|---|
[Python]컴프리헨션(Comprehension) (0) | 2023.04.30 |
[Python]파이썬으로 팩토리얼 구하기, 네 가지 방법 (0) | 2023.04.12 |
[Python]set 자료형 각종 연산 (1) | 2023.04.08 |
[Python]함수 만들고 호출하기 (0) | 2023.02.05 |
[Python]기본 자료형 (0) | 2023.02.04 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 파이썬
- 세계일주
- 지지
- java
- 기술면접
- spring
- 유럽
- RX100M5
- Algorithm
- 야경
- Python
- 남미
- 세모
- 맛집
- 여행
- Backjoon
- a6000
- 칼이사
- 백준
- 중남미
- 면접 준비
- BOJ
- 스프링
- 자바
- 유럽여행
- 스트림
- 알고리즘
- 세계여행
- 리스트
- 동적계획법
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함