[알고리즘] 프로그래머스 Javascript - 제일 작은 수 제거하기

HJ·2022년 1월 19일
0

JavaScript

목록 보기
31/45

문제 설명

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

제한 사항

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

입출력 예

arrreturn
[4,3,2,1][4,3,2]
[10][-1]

문제 풀이

function solution(arr) {
    var answer = [];
    
    if (arr.length <= 1) { // arr의 길이가 1보다 같거나 작은 경우
        return [-1]; // [-1]을 리턴한다.
    } else { //아니라면
        arr.splice(arr.indexOf(Math.min(...arr)),1); // arr의 최소값을 찾아준 후 splice로 인자를 넘겨 최소값을 삭제한다. 참고로 배열이 아닌 숫자들의 목록을 인수로 받아야 하므로 Spread syntax(...)를 사용한다.
        answer = arr;
    }
    
    return answer;
}

console.log(solution([4,3,2,1]))
  • splice 함수: 원하는 위치에 요소 추가
  • math.min 함수: 최소값 찾기
  • Spread syntax(전개 문법): 배열이 아닌 숫자들의 목록을 인수로 받아야 하므로 Spread syntax(...)를 사용한다. 참고로 ...없이 답안 제출했을 때 실패가 떴다.

0개의 댓글