제일 작은 수 제거하기

문제 설명

정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다.

func solution(_ arr:[Int]) -> [Int] {
    guard arr.count > 1 else { return [-1] }
    let minNumber = arr.min()
    let result = arr.filter { $0 != minNumber }
    
    return result
}

guard 를 통해 arr 배열의 숫자가 1개 이하일 경우 [-1] 을 출력하도록 작성한 후

arr 배열의 최소값을 변수에 넣어준다.

고차함수 filter를 사용하여 배열 내 값을 하나하나 최소값 minNumber 과 같은지 아니면 통과하는 식을 만들어 최소값을 걸러낸 후 배열을 다시 만들어 출력하면 해결된다.

'◽️ Programming > ◽️ Algorithm' 카테고리의 다른 글

수박수박수박수?  (1) 2024.03.14
가운데 글자 가져오기  (0) 2024.03.13
없는 숫자 더하기  (0) 2024.03.11
핸드폰 번호 가리기  (0) 2024.03.08
음양 더하기  (0) 2024.03.07