반응형
안녕하세요. 개발 중인 정주입니다.
오늘은 프로그래머스 - 제일 작은 수 제거하기 문제를 풀었습니다.
목차
Github
문제 링크
https://programmers.co.kr/learn/courses/30/lessons/12935
풀이
해당 문제에는 작은 함정이 있습니다.
바로 문제 자체에는 배열이 정렬되어 있다는 조건이 없지만 정렬된 예시를 주어짐으로써 착각을 일으키는 건데요.
예시를 통해 문제를 지레짐작하는 습관을 가진 사람들에게 아주 치명적인 함정일 것입니다.
또 하나 중요한 점은 가장 작은 수를 "모두" 제거해야 한다는 점입니다.
여러 개의 가장 작은 수가 들어올 수 있으니 이 점도 주의해야 합니다.
저도 왜 틀리지 하면서 꽤 오래 고민을 했네요..
정렬을 하지 않고 가장 작은 정수를 삭제하면 통과할 수 있습니다.
전체 코드
import Foundation
func solution(_ arr:[Int]) -> [Int] {
let minNum = arr.min()
let result = arr.filter { $0 != minNum }
return result.isEmpty ? [-1] : result
}
let arr = [1, 2, 3]
print(solution(arr))
아직은 초보 개발자입니다.
더 효율적인 코드 훈수 환영합니다!
공감과 댓글 부탁드립니다.
반응형