프로그래머스(Python) 풀이/Level.2

프로그래머스(Python) 12953번 N개의 최소공배수 풀이

개발윗미 2022. 5. 4. 19:18

Python으로 구현한 12953번 N개의 최소공배수 문제 풀이입니다.

 

https://programmers.co.kr/learn/courses/30/lessons/12953

 

코딩테스트 연습 - N개의 최소공배수

두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배

programmers.co.kr


def check(arr, target) :
    for i in range(len(arr)) :
        if target % arr[i] != 0 :
            return False
    return True

def solution(arr) :
    value = max(arr)
    add_value = max(arr)
    while True :
        if check(arr, value) :
            return value
        else :
            value += add_value

 

1. 전달받은 arr 리스트에서 가장 큰 값을 value와 add_value에 할당한다.

 

2. while문을 통해 반복수행하며 반복문 내부에서는 check() 함수를 통해 arr 리스트 내 요소들의 최소 공배수가 성립하면 True를 반환받아 value 값을 출력한다.

 

3. 만약 arr 리스트 내 요소들의 최소 공배수가 성립되지 않는다면 value에 add_value를 더하여 반복 작업을 계속한다.