VesselWheel

제일 작은 수 제거하기 본문

Coding Test Practice in Swift

제일 작은 수 제거하기

JasonYang 2023. 11. 23. 20:11

문제

 

풀이

func solution(_ arr:[Int]) -> [Int] {
    
    if arr.count == 1 {
        return [-1]
    }
    
    var min = arr.min()!
    var answer = arr.filter{$0 > min}
    
    
    return answer
}

해석

1. 제일 작은 수를 제거하고나서 빈 배열이면 [-1]을 배출하려면 

// 배열의 길이를 count로 길이가 1이라면, 함수는 [-1] 반환하고 종료 

if arr.count == 1 {

      return [-1] 

 

이어서 

// min() 함수를 활용하여 배열에서 가장 작은 원소를 찾고, 그 값을 인스턴스 min에 저장 

// min() 함수는 배열의 모든 원소 중 가장 작은 값을 반환 

// (!) 느낌표는 강제 추출 연산자로, 반환값이 Optional 타입일 때 사용하여 실제값을 옵셔널 강제 해제하여 배열에서 꺼내어 옴

var min = arr.min()! 

 

// filter 함수는 주어진 클로져{}에 맞는 원소들만 골라 새로운 배열을 만듬

// 클로져{$0 > min} 는 배열 arr의 각 원소가 인스턴스 min 보다 큰지를 검사하며, $0 은 클로저의 첫 번째 인덱스를 나타내는 문법 

var answer = arr.filter{$0 > min} // min 인스턴스보다 큰 원소들만 모아 answer 인스턴스에 저장

 

// 가장 작은 원소를 제거한 결과 배열 answer 반환

return answer 

 

 

 

'Coding Test Practice in Swift' 카테고리의 다른 글

제곱근 구하기  (0) 2023.11.27
수박수? 반복패턴 만들기  (2) 2023.11.27
없는 숫자 더하기  (2) 2023.11.23
핸드폰 번호 가리기  (0) 2023.11.23
음양 더하기  (0) 2023.11.22