[lev1] 제일 작은 수 제거하기

AnSuebin·2022년 6월 26일
0

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

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

문제풀이

function solution(arr) {
 arr.splice(arr.indexOf(Math.min(...arr)),1)
    if(arr.length < 1) {return[-1]}
    return arr
}

1) splice ()

  • 추가하기 : 배열. splice (인덱스, 0, 넣을 배열)
    예) 배열. splice (2, 0, 5, 2, 3) // 5,2,3을 2인덱스에 추가
  • 지우기 : 배열. splice(인덱스, 지울 갯수)
    예) 배열.splice (2, 3) // 2 인덱스부터 3개 제거
  • splice. (startNum, deleteCount, insertValue)

2) arr.indexOf(어떤것) // arr에서 어떤것의 인덱스

3) 함수에서 배열을 받아 가장 작은 수 가져오기

let list = [1, 2, 3, 4, 5]

function minimum(arr) {
  return Math.min(...arr)
}

test = minimum(list)
console.log(test)

4) 배열에서 가장 작은 수의 인덱스 가져오기

arr.indexOf(Math.min(...arr))

=> Math.min(...arr) // 가장 작은 수
=> arr.indexOf(가장 작은 수)//arr의 가장 작은 수 인덱스

profile
고객에게 명료한 의미를 전달하고, 명료한 코드를 통해 생산성 향상에 기여하고자 노력합니다.

0개의 댓글