이번에 해결해 볼 문제는 프로그래머스에 있는 N개의 최소공배수이다.
문제 설명
- 자연수를 담은 배열 arr이 주어졌을 때 arr의 최소공배수를 구하면 된다.
문제 해결 아이디어
- math library의 lcm을 쓸 수 있지만 프로그래머스의 python 버전은 3.8.5이므로 lcm을 사용할 수 없다.
- 따라서 gcd를 사용해 lcm을 구해야 한다.
문제 해결 코드
1
2
3
4
5
6
7
8
9
10
from math import gcd
def solution(arr):
gcd_num = arr[0]
answer = gcd_num
for i in arr[1:]:
gcd_num = gcd(answer, i)
answer = gcd_num * answer//gcd_num * i//gcd_num
return answer