[문제풀이] 제일 작은 수 제거하기 / TIL # 47

velg·2021년 9월 27일
0

문제풀이

목록 보기
8/12

문제링크

문제 접근

  • 주어진 숫자들 중 가장 작은 값을 찾는 Math.min 을 사용해보자
  • 배열에 값이 없거나 하나일 경우 [-1]을 반환하도록 하자
  • 배열에서 Math.min값을 찾아서 제외한 후 결과값으로 반환하자

내 풀이

function solution(arr) {
    const min = Math.min(...arr);
    if(arr.length <= 1) return [-1];
    return arr.filter(e => e !== min);
}    

처음에는 sort를 이용해 가장 작은 수를 끝으로 보낸 후, pop으로 제거하고 반환하려고 했지만, 테스트에서 실패하였다(값은 잘 나옴)

정확한 이유는 알지 못하지만, 정렬은 기존 배열이 가지고 있던 의미를 훼손하기 때문에 함부로 쓰는 것이 옳은 풀이가 아닌 것으로 판단되어 실패한 듯 하다

그래서 Math의 min 메서드를 활용해 풀이하였고, 처음에는 filter안에 넣었지만 한번 찾은 값을 굳이 계속 찾을 필요는 없다 판단하여 변수에 담아 처리하였다

첫 풀이

 if(arr.length <= 1) return [-1];
 arr.sort((l,r)=> r- l).pop();
 return arr;
profile
초보 개발자

0개의 댓글

관련 채용 정보