最小の[CodeKata]を除去


リンク

  • https://programmers.co.kr/learn/courses/30/lessons/12935
  • リファレンス

  • https://medium.com/@vladbezden/how-to-get-min-or-max-of-an-array-in-javascript-1c264ec6e1aa#:~:text=of%20Math%20object-,The%20Math.,of%20zero%20or%20more%20numbers.&text=The%20destructuring%20assignment%20syntax%20is,or%20objects%20into%20distinct%20variables .
  • https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/findIndex
  • https://love2dev.com/blog/javascript-remove-from-array/
  • 私の答え

    function solution(arr) {
      const newArray = [...new Set(arr)]; // 중복 수 제거
      const minNum = Math.min(...newArray); // 제일 작은 수
      const isMinimumNum = (element) => element <= minNum; // 제일 작은 수보다 작거나 같은 수 
      const minNumIndex = newArray.findIndex(isMinimumNum); // 제일 작은 수의 index
    
      // 제일 작은 수의 인덱스부터 element 1개를 제거
      newArray.splice(minNumIndex, 1);
      
      // 배열의 길이가 1보다 작거나 같으면 [-1]을 return하고, 아니면 제일 작은 수가 제거된 newArray return
      return newArray.length <= 1 ? [-1] : newArray; 
    }