내 코드
def solution(arr):
i=1
while True:
answer = [a for a in arr if i%a==0]
if len(answer)==len(arr):
return i
i+=1
arr에 있는 숫자가 다 나누어 떨어지는 수를 구했다.
다른사람 코드
import math
def solution(num):
answer = num[0]
for n in num:
answer = (n * answer) // math.gcd(n, answer)
return answer
최대공약수는 두 수의 곱에 최소공배수를 나누면된다. 최소공배수를 구하는 함수는 gcd이다!!!
이것을 배열에 들어있는 원소만큼 반복하면된다!
'코딩테스트 > Python' 카테고리의 다른 글
[프로그래머스] 다음 큰 숫자 (0) | 2021.09.07 |
---|---|
[프로그래머스] 최댓값과 최솟값 (0) | 2021.09.07 |
[프로그래머스] 최솟값 만들기 (0) | 2021.09.07 |
[프로그래머스] 숫자의 표현 (0) | 2021.09.06 |
[프로그래머스] JadenCase 문자열 만들기 (0) | 2021.09.06 |