[프로그래머스] 자바스크립트 - 제일 작은 수 제거하기

멤오장·2023년 4월 12일
0

코딩테스트 연습

목록 보기
18/18

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


문제 설명

배열 arr에서 가장 작은 수를 제거한 배열을 리턴
빈 배열인 경우 -1을 채워 리턴


제한사항

arr의 길이는 1이상
배열의 값들은 같지 않다


입출력 예

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

문제 풀이

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

🤍 slice(시작 index[, 마지막 index])
배열의 내용을 변경하여 새로운 배열 반환
원본 배열 바뀌지 않음

const animals = ['dog', 'duck', 'cat', 'rabbit'];
animals.slice(2);		// ['cat', 'rabbit']
console.log(animals);	// ['dog', 'duck', 'cat', 'rabbit']

🤍 Math.min()
숫자들 중 가장 작은 값을 반환
값으로 숫자만 들어갈 수 있기 때문에 배열 사용시 apply 사용

Math.min(1,2,3,4,5); 		// 1
Math.min([1,2,3,4,5]);		// NaN

🤍 apply()
apply(this, [배열])
this 값과 배열로 제공되는 인자를 함수로 호출
Math.min 메소드에서는 this 역할이 없기 때문에 null

Math.min.apply(null, arr);  // 1
profile
일단 적기

0개의 댓글