문제
풀이
1. splice()를 이용하여 제일 작은 수를 찾아 제거를 해준다
이때 splice()안에 제일 작은 수의 인덱스 하나를 제거하기 위해 indexOf()와 Math.min()을 사용한다.
2. 그 후 arr의 길이가 0이면(빈 배열) [-1]을 리턴하고 그렇지 않으면 arr을 리턴해준다.
결과
function solution(arr) { var answer = arr.splice(arr.indexOf(Math.min(...arr)),1); return arr.length === 0 ? [-1] : arr; }
처음에 Math.min(arr)이라고 코드를 친 후 실행을 시켜봤더니 실행이 되지 않았다.
그 다음 Math.min(...arr)로 코드를 수정했더니 실행 성공이 떴다.
...이 Math.min()에서 어떤 역할을 하는지 찾아보았더니 ...은 Math.min()에서 여러 개의 인자를 받을 수 있기 때문이다.
따라서 이 점을 유의해서 문제를 풀어나가야겠다.
'코딩 테스트' 카테고리의 다른 글
[ 프로그래머스 ] 정수 내림차순으로 배치하기 (0) | 2024.05.30 |
---|---|
[ 프로그래머스 ] n개 간격의 원소들 JS (0) | 2024.05.28 |
[ 프로그래머스 ] 간단한 식 계산하기 (0) | 2024.05.18 |
[ 프로그래머스 ] 세 개의 구분 (0) | 2024.05.17 |
[ 프로그래머스 ] 자릿수 더하기 (0) | 2024.05.16 |