728x90
from math import gcd
def lcm(x,y):
return x*y // gcd(x,y)
def solution(arr):
while True:
arr.append(lcm(arr.pop(), arr.pop()))
if len(arr) == 1:
return arr[0]
최대공약수, 최소공배수를 활용해서
N개의 최소공배수를 구한다.
list에서 2개의 원소를 꺼내 최대공약수를 구한뒤 다시 list에 삽입
728x90
'Algorithm' 카테고리의 다른 글
[프로그래머스] 예상 대진표 파이썬 (DP) (0) | 2021.03.16 |
---|---|
[프로그래머스] 짝지어 제거하기 파이썬 (stack, pop) (0) | 2021.03.16 |
[프로그래머스] 행렬의 곱 파이썬 (0) | 2021.03.16 |
[프로그래머스] 피보나치 수 파이썬 (0) | 2021.03.16 |
[프로그래머스] 숫자의 표현 파이썬 (0) | 2021.03.15 |
댓글