제일 작은 수 제거하기

RyuIsangGo🤘·2023년 8월 21일
0

문제

나의코드

const solution = (arr) => {
    if(arr.length === 1) return [-1];
    let smallValueAndIndex = [arr[0], 0];
    for(let i = 1; i < arr.length; i++) {
        if(smallValueAndIndex[0] > arr[i]) {
            smallValueAndIndex = [arr[i], i];
        }
    }
    arr.splice(smallValueAndIndex[1], 1);
    return arr;
}

로직흐름

arr배열의 길이가 1이라면 [-1]을 반환한다.
smallValueAndIndex 변수에 [arr[0], 0]으로 초기화한다.
smallValueAndIndex는 지금까지 가장 작은 값과 그 값이 몇번째 인덱스에 있는지 저장하는 배열이다.
1번째 인덱스부터 arr.length-1까지 순회를 하면서
현재 저장되어있는 값보다 지금 요소가 더 작다면 smallValueAndIndex를 수정한다.
순회를 마치고 splice를 이용해서 smallValueAndIndex에 저장된 인덱스에서 1개의 값을 빼버린뒤, arr을 반환한다.

profile
이전 블로그 입니다.

0개의 댓글