이 문제는 최소공배수(lcm)을 만드는 문제이다.
최소 공배수를 만들기 위해서는 먼저 최대공약수(gcd)를 알고 있어야 한다.
그리고 최대공약수는 아래와 같이 라이브러리를 이용하여 할 수도 혹은 직접 만들 수 있다.
import math
def gcd(a, b): # 최대공약수
while b > 0:
a, b = b, a % b
return a
a,b =12,20
math.gcd(a, b)
gcd(a,b)
이제 위의 최대공약수를 이용한 최소공배수를 만들어 보자
import math
def lcm(a, b):
return a * b // math.gcd(a, b) #실수로 나오니까 정수로 나오겠끔 //로 나누자
파이썬 3.9 버전 부터는 아래와 같이 라이브러리를 사용할 수있지만 프로그래머스 등 지원안하는 곳도 많으니 그냥 위에꺼를 외우도록 하자
import math
a, b = 6, 15
math.lcm(a, b)
'코딩 테스트 > 코딩 테스트 - 문제' 카테고리의 다른 글
k진수에서 소수 개수 구하기 (0) | 2023.02.08 |
---|---|
[프로그래머스] 캐시 (0) | 2023.02.06 |
[백준] 수들의 합 2 (0) | 2023.02.03 |
[프로그래머스] 징검다리 (0) | 2023.02.02 |
[백준] 공유기 설치 (0) | 2023.02.02 |