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

Narcoker·2022년 9월 16일
0

코딩테스트

목록 보기
32/150

문제 설명

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

제한 조건

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

입출력 예

풀이

Math.min() 함수를 이용하여 제일 작은 수를 를 찾고 indexOf() 를 이용하여 해당 수의 index를 찾는다.
이후 splice()를 이용하여 해당 값을 삭제한 뒤 빈 배열이면 [-1]을 반환하고
아니면 삭제한 후의 배열을 반환한다.

function solution(arr) {
    arr.splice(arr.indexOf(Math.min(...arr)),1);
    return arr.length === 0 ? [-1] : arr;
}

회고

Math.min()/Math.max() 의 파라미터는 배열이 아니다. 각 값을 넣어야 하므로
전개 연산자를 사용하여 전개한 것을 파라미터로 넣는다.

profile
열정, 끈기, 집념의 Frontend Developer

0개의 댓글