[ 프로그래머스 | js ] 제일작은수 제거하기

YuRim Lee·2023년 2월 5일
0
post-thumbnail

문제 설명

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

제한 조건

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

입출력 예

내코드

function solution(arr) {
    let newArr = [...arr];
    
    if(arr.length ==1){
        newArr[0] = -1;
    }else{
        let s = arr.sort((a,b)=> a-b);
        newArr= newArr.filter(v=> v != s[0]);   
    }
    return newArr;
}

배우고싶은 코드 1

function solution(arr) {
    arr.splice(arr.indexOf(Math.min(...arr)),1);
    if(arr.length<1)return[-1];
    return arr;
}
  1. Math.min 이용
  2. min 함수안 rest 문법 이용하여 파라미터 보내기
  3. indexOf() 함수이용하여 인덱스 구하기
  4. splice 이용하여 원하는인덱스의 문자 자르기

배우고싶은 코드 2

function solution(arr) {
    const min = Math.min(...arr);
    return arr.length !== 1 ? arr.filter(i => i !== min) : [-1]
}
  1. 삼항연산자 이용하기
  2. 삼항연산자 안에 true 값일때 filter 로 하기
profile
성장하는개발자

0개의 댓글