Where who wants to meet someone
제일 작은 수 제거하기 본문
728x90
문제
https://school.programmers.co.kr/learn/courses/30/lessons/12935
내 답안 / 다른 사람들의 답안
func solution(_ arr:[Int]) -> [Int] {
let minValue = arr.min()!
return arr.count == 1 ? [-1] : arr.filter { $0 > minValue }
}
- 배열 요소의 개수가 1이면 작은 값을 제거시 비어있게 되기 때문에 -1을 반환, 아니라면 minValue보다 큰 요소들만 가려낸 배열 반환
- minValue 대신 min()을 쓰게 되면 배열의 요소를 돌 때마다 해당 함수를 사용하기 때문에 리소스를 많이 사용하게 됨
// 풀이 1
func solution(_ arr:[Int]) -> [Int] {
let min = arr.sorted(by: <)[0]
return arr.count == 1 ? [-1] : arr.compactMap({ return $0 != min ? $0 : nil })
}
// 풀이 2
func solution(_ arr:[Int]) -> [Int] {
var answer = arr
answer.remove(at:answer.index(of:arr.min()!)!)
return answer.isEmpty ? [-1] : answer
}
점수: +2
'프로그래머스 알고리즘 문제 기록 > Lv. 1' 카테고리의 다른 글
수박수박수박수박수박수? (0) | 2024.05.15 |
---|---|
가운데 글자 가져오기 (0) | 2024.05.14 |
핸드폰 번호 가리기 (0) | 2024.05.14 |
콜라츠 추측 (0) | 2024.05.14 |
나누어 떨어지는 숫자 배열 (0) | 2024.05.14 |