문제 설명
정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다.
입출력 예
arr | return |
[4,3,2,1] | [4,3,2] |
[10] | [-1] |
나의 풀이
1
2
3
4
5
6
7
8
9
|
function solution(arr) {
let answer
arr.splice(arr.indexOf(Math.min(...arr)),1)
arr.length <=1 ? answer = [-1] : answer = arr
return answer
}
|
cs |
문제를 풀며 느낀 점
- 먼저 오늘은 처음으로 splice()를 사용해 보았는데요 배열을 정렬하지 않고 제일 작은 값을 제거하기 위해서 splice(index, 1) arr에 index에 있는 위치의 값을 하나 제거하겠다 해서 arr.indexOf() 인덱스 위 위치를 찾아주는 함수의 인자값으로 Math.min(... arr) Math.min() 함수 안에 spread연산자를 통해서 뿌려진 arr값에서 최솟값을 찾은 뒤 indexOf를 통해 제일 작은 수 의 index위치를 알고 splice함수를 통해서 제거하였습니다. 그 후 만약 주어진 arr의 길이가 1보다 작거나 같다면 answer에 [-1]을 할당한 값을 return 하였고 아니라면 answer에 제일 작은 수가 제거된 배열 arr을 return 하였습니다.
'코딩 테스트 풀이 🛠' 카테고리의 다른 글
[프로그래머스] 약수의 개수와 덧셈 (0) | 2023.01.19 |
---|---|
[프로그래머스] 문자열 내림차순으로 배치하기 (0) | 2023.01.19 |
[프로그래머스] 내적 (0) | 2023.01.17 |
[프로그래머스] 예산 (0) | 2023.01.17 |
[프로그래머스] 모스부호 (1) (0) | 2023.01.15 |