문제
풀이 코드
function solution(arr) {
arr.splice(arr.indexOf(Math.min(...arr)), 1);
return arr.length == 0 ? [-1] : arr;
}
풀이 과정
처음에 sort 를 하여, 0인덱스의 값을 제거했다.
이렇게 하고나서 문제를 다시보니 배열의 순서는 유지 되어야한다
그래서 Math.min 함수를 통해, 최소값이 있는 해당 인덱스를 구하여 , splice 함수를 적용했다,
단, 제거했을때 배열에 남는값이 없다면, ( 배열의 길이가 0 이라면 ) [-1] 을 return 하게 적용했다.
여기서도 Math.min 함수에 처음에 Math.min(arr) 로만 작성했지만, 테스트에서 Fail 되었다..
그래서 그 이유를 검색해보니
Math.min 함수에 배열의 인자 하나하나 전달하기 위해서는 spread 를 사용해야 한다고 MDN 에 나와있었다!