본문 바로가기
코딩 테스트

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

by 주연배 2024. 5. 20.

문제

 

풀이

1. splice()를 이용하여 제일 작은 수를 찾아 제거를 해준다
이때 splice()안에 제일 작은 수의 인덱스 하나를 제거하기 위해 indexOf()와 Math.min()을 사용한다.

2. 그 후 arr의 길이가 0이면(빈 배열) [-1]을 리턴하고 그렇지 않으면 arr을 리턴해준다.

 

결과

function solution(arr) {
    var answer = arr.splice(arr.indexOf(Math.min(...arr)),1);
    return arr.length === 0 ? [-1] : arr;
}

 

처음에 Math.min(arr)이라고 코드를 친 후 실행을 시켜봤더니 실행이 되지 않았다.

그 다음 Math.min(...arr)로 코드를 수정했더니 실행 성공이 떴다. 

...이 Math.min()에서 어떤 역할을 하는지 찾아보았더니 ...은 Math.min()에서 여러 개의 인자를 받을 수 있기 때문이다.

따라서 이 점을 유의해서 문제를 풀어나가야겠다.