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

HyeRyun·2020년 7월 30일
0

프로그래머스

목록 보기
12/22
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] 입니다.

😎 소스 코드

function solution(arr) {
  let answer = [],
    min,
    copy;

  // 배열에 원소가 한 개일 경우
  if (arr.length === 1) {
    answer.push(-1);
  } else {
    copy = arr.slice(); // 원본 배열 복사
    // 최소값 찾기
    copy.sort(function(a, b) {
      return a - b;
    });

    min = copy[0];

    // filter()이용해 최소값보다 큰 숫자만 찾아냄
    answer = arr.filter(num => num > min);
  }
  console.log(answer);
  return answer;
}

solution([4, 9, 3, 2, 1]);

👍 문제를 풀고 나서

자바스크립트 배열 메소드 기능이 너무 좋네ㅋㅋ

profile
개발개발

0개의 댓글