Algorithm
프로그래머스 [Swift] 제일 작은 수 제거하기
최강훈
2021. 7. 5. 10:24
쉽긴한데 적절한 STL이 떠오르지 않아서 남의 코드를 검색해봤더니...
와우.. 3줄 만에 끝이 나버렸다.
덕분에 알게 된 것도 3개씩이나 !!
배열.remove(at: index)는 배열의 index를 제거.
배열.min()은 가장 작은 comparable 원소를 가지고 있는 녀석을 반환.
배열.index(of: )는 특정 요소의 인덱스를 리턴.
남의 정답 코드:
func solution(_ arr:[Int]) -> [Int] {
var answer = arr
answer.remove(at:answer.index(of:arr.min()!)!)
return answer.isEmpty ? [-1] : answer
}
내가 푼 코드:
func solution(_ arr:[Int]) -> [Int] {
if arr.count <= 1 {
return [-1]
}
var min: Int = 2147483647
var minIndex:Int = 0
for (index, element) in arr.enumerated() {
if min > element {
min = element
minIndex = index
}
}
var answer = [Int]()
for i in arr.indices {
if i != minIndex {
answer.append(arr[i])
}
}
return answer
}
내가 푼 코드의 실행 결과