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

728x90
반응형

1. 내 코드 (제출실패)

function solution(arr) {
    var answer = [];
    let sort = arr.sort((a, b) => b - a);

    if (sort.length === 1) {
        return [-1];
    }

    for (let i = 0; i < sort.length - 1; i++) {
        answer.push(sort[i]);
    }

    return answer;
}

▶ 이 코드는 [코드 실행] 2문제는 통과되는데 [제출후 채점하기]에서는 실패가 나는 코드

▶ 배열로 하려고 했으나 Math.min이 더 적합해 보임.

 

 

2. 내 코드 (제출완료)

function solution(arr) {
   
    if(arr.length === 1){return [-1];}
    let minValue = Math.min(...arr);
 
    return arr.filter(num => num !== minValue)
}

▶Math.min 으로 최소값 구하기 : 배열을 스프레드로 나열해서 최소값 찾기

▶배열의 filter를 사용해서 최소값만 빼고 출력

 

3. 다른 사람 풀이

function solution(arr) {
    arr.splice(arr.indexOf(Math.min(...arr)),1);
    if(arr.length<1)return[-1];
    return arr;
}

▶ splice + indexOf + Math.min을 활용

(1)  Math.min (...arr) : 최소값 찾기

(2) indexOf : 최소값의 index 찾기

(3) splice (최소값인덱스, 1(삭제개수)) =>  최소값 1개 삭제

 

끝.

 

반응형