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

개발잘하기프로젝트·2020년 11월 23일
0
post-thumbnail

🤔 문제

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

정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다.

❗️ 제한

  • arr은 길이 1 이상인 배열입니다.
  • 인덱스 i, j에 대해 i ≠ j이면 arr[i] ≠ arr[j] 입니다.

💡 접근

배열에서 가장 작은 수 min을 찾고 filter()메서드에서 value !== min을 만족하는 value만 반환하도록 했다. 새로운 배열 result가 빈 배열일 경우 [-1]을 리턴했다.

🧑🏻‍💻 코드

function solution(arr) {
  const min = Math.min(...arr);
  const result = arr.filter(v => v !== min);
  return result.length ? result : [-1];
}

solution([1]); // [-1]
solution([10, 1, 1, 2, 3]); // [10, 2, 3]

📝 참고

MDN - Math.min()
MDN - Math.max()

Math.min()과 Math.max()

  • 주어진 숫자들 중 가장 작은 값, 가장 큰 값을 반환한다.
  • 주어진 값은 숫자형이여야 한다.
  • 한 개 이상의 요소가 숫자형으로 변환되지 않는 경우 NaN을 반환한다.
  • 주어진 인자값이 없을 경우 Infinity, -Infinity를 반환한다.
profile
🏠 ☕️ 🎞 🌿 + 🧑🏻‍💻

0개의 댓글