[Lv2/python] N개의 최소공배수

nut3lla·2023년 3월 1일
0

Programmers

목록 보기
71/74

문제 설명

두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배수는 n 개의 수들의 배수 중 공통이 되는 가장 작은 숫자가 됩니다. n개의 숫자를 담은 배열 arr이 입력되었을 때 이 수들의 최소공배수를 반환하는 함수, solution을 완성해 주세요.

제한 사항

  • arr은 길이 1이상, 15이하인 배열입니다.
  • arr의 원소는 100 이하인 자연수입니다.

입출력 예

arrresult
[2,6,8,14]168
[1,2,3]6

SOLVE

  • 최소 공배수 구하는 방법들 중 하나
    => 각각의 배수를 적어서, 가장 첫번째 나오는 공배수가 최소공배수
    ex.
    - 6의 배수 : 6, 12, 18, 24, 30, ..
    - 15의 배수 : 15, 30, ..
def solution(arr):
    std = max(arr)
    mul = 1
    while True:
        flag = True
        for item in arr:
            if item == std:
                continue
            if (std*mul) % item != 0:
                flag = False
        if flag == True:
            return std*mul
        mul += 1
profile
🦴피곤행🦴

0개의 댓글