본문 바로가기
프로그래머스

프로그래머스 Lv.1 : 10. 제일 작은 수 제거하기

by 코린이 박원장👶 2022. 11. 6.

프로그래머스Lv.1 : 제일 작은 수 제거하기


■ 문제 설명

정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다.

■ 제한 조건

✔ arr은 길이 1 이상인 배열입니다.
✔ 인덱스 i, j에 대해 i ≠ j이면 arr[i] ≠ arr[j] 입니다.

■ 입출력 예

arr return
[4,3,2,1] [4,3,2]
[10] [-1]

■ 내멋대로 풀어헤치기😜

filter를 통해서 배열내의 최소수를 제외한 값들을 x라는 변수에 다시 반환해줍니다.
문제에 빈배열은 -1넣어서 반환하라했으니 그냥 강제로 지정해주면 되겠죠 뭐...
쉽쥬? 근데 나보다 더 쉽게하겠지 고수들은

function solution(arr) {
    let x = arr.filter((element) => element !== Math.min.apply(null,arr));
    
    if(x.length == 0){
        x = [-1]
    }
    
    return x
}

■ 다른사람 입맛도 맛보기 😋

제 방식과 거의 유사한데 순서가 다를뿐인것같네요. 굳👍

function solution(arr) {
    const min = Math.min(...arr);
    return arr.length !== 1 ? arr.filter(i => i !== min) : [-1]
}


📌 나혼자 공부...

filter()

filter() 함수는 특정 조건에 부합하는 값만 모아서 새로운 배열을 만들어서 리턴합니다.


🙇‍♀️ 틀린 점에 대한 지적은 언제나 환영합니다 🙇‍♂️

728x90

댓글


HTML이미지
HTML이미지

JAVASCRIPT

자세히 보기
HTML이미지