문제

 

풀이 코드

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 에 나와있었다!

+ Recent posts