728x90
programmers.co.kr/learn/courses/30/lessons/12953
접근
입력되는 리스트의 모든 수를 곱한 결과까지 탐색을 하여, 여기서 구한 최댓값에 입력된 리스트의 각 숫자들을 나눴을 때 모두 나누어 떨어진다면 그 수를 반환한다.
구현
먼저 입력된 리스트의 수를 모두 곱하여 max_num에 저장하고 2부터 max_num까지 탐색을 한다.
이후 i (2부터 max_num)를 입력된 리스트의 원소들로 나누어서 모두 나머지가 0이 된다면 해당 i를 answer에 저장한다.
def solution(arr):
answer = 0
max_num = 1
for a in arr:
max_num *= a
for i in range(2, max_num+1):
for a in arr:
# 나누어 떨어지지 않는다면 break
if i%a != 0:
break
# 위에서 break에 걸리지 않았다면
# 모두 나누어 떨어지는 것이기 때문에 해당 i를 answer에 대입
else:
answer = i
break
return answer
'알고리즘 풀이 > 프로그래머스' 카테고리의 다른 글
[Level 2] 멀쩡한 사각형 (0) | 2021.03.04 |
---|---|
[Level 2] 짝지어 제거하기 (0) | 2021.03.04 |
[Level 2] 최댓값과 최솟값 (0) | 2021.03.04 |
[Level 2] 소수 찾기 (0) | 2021.03.04 |
[Level 2] H-Index (0) | 2021.03.03 |