프로그래머스-제일 작은 수 제거하기

효딩딩·2023년 12월 13일
0

문제

removeAll(where:) ❓

  • 함수는 주어진 조건에 맞는 모든 요소를 배열에서 제거합니다.

풀이

  1. 변수 result 에 배열 arr의 복사본을 저장합니다. (원본 배열을 변경하지 않기위해)
  2. guard문을 통해 배열이 비어 있거나 하나의 요소만 포함하고 있으면, [-1]을 반환합니다.
  3. if let 바인딩으로 min() 을 통해 arr에서 가장 작은 값을 찾고 최소값이 존재하는 경우에만 numMin 에 할당합니다.
  4. removeAll(where:) 내장함수를 이용하여 result 배열에서 최소값 numMin을 가진 모든 요소를 제거합니다.
  5. numMin 요소를 제거하여 수정된 result 배열을 반환합니다.
func solution(_ arr:[Int]) -> [Int] {
 var result = arr
    guard arr.count > 1 else { return [-1] }
    if let numMin = arr.min() {
       result.removeAll(where: {$0 == numMin})
        }
    return result
}
profile
어제보다 나은 나의 코딩지식

0개의 댓글