쉽긴한데 적절한 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
}
내가 푼 코드의 실행 결과
'Algorithm' 카테고리의 다른 글
프로그래머스 크레인 인형뽑기 게임 [Swift] (0) | 2021.09.03 |
---|---|
프로그래머스 - 정수 제곱근 판별 [Swift] (0) | 2021.07.05 |
프로그래머스 [Swift] 문자열 내 마음대로 정렬하기 (0) | 2021.07.03 |
프로그래머스 - 최대공약수와 최소공배수 [Swift] (0) | 2021.07.03 |
프로그래머스 - 소수 찾기 [Swift] (0) | 2021.07.03 |
최근댓글