Where who wants to meet someone

제일 작은 수 제거하기 본문

프로그래머스 알고리즘 문제 기록/Lv. 1

제일 작은 수 제거하기

Lust3r 2024. 5. 14. 12:00
728x90

문제

https://school.programmers.co.kr/learn/courses/30/lessons/12935

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

내 답안 / 다른 사람들의 답안

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