Algorithm

SwiftUI: N개의 최소공배수

songmoro 2024. 3. 20. 09:35
728x90

프로그래머스 N개의 최소공배수

 

주어진 배열의 최소공배수를 구하는 문제

 

최소 공배수라는 건 결국 배열의 모든 수의 공배수이기 때문에, 배열의 가장 큰 수를 곱하면서 모든 수의 공배수인지 검사하도록 구현

 

func solution(_ arr:[Int]) -> Int {
    var i = 1
    
    while arr.map({(arr.max()! * i).isMultiple(of: $0)}).contains(false) { i += 1 }
    
    return arr.max()! * i
}

//    arr    result
//    [2,6,8,14]    168
//    [1,2,3]    6
//    [1,2,3,4,5,6,7] 60
728x90