본문 바로가기
Algorithm/프로그래머스(Programmers)

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

by YWTechIT 2021. 7. 23.
728x90

📍 프로그래머스 1단계 - 제일 작은 수 제거하기

프로그래머스 1단계 - 제일 작은 수 제거하기


⚡️ 나의 풀이

가장 작은 수를 찾는 문제인데, min 함수의 활용법을 잘 몰랐다. 그래서 반복문을 선언해서 최솟값을 하나씩 찾는 방법과 해당 최솟값을 indexOf로 몇 번째 위치해있는지 찾았다.

 

여담으로 처음에 Math.min을 사용하니까 NaN이 뜨길래 왜 그러지? 하니까 min함수는 개별 숫자를 받는데 배열을 넣어서 NaN뜬다고 했다. 해결방법으로는 spread 연산자를 넣거나 Math.min.apply(null, arr)처럼 apply함수를 사용해서 배열 내에서도 min값을 찾을 수 있다.

 

// 첫 번째 코드
function solution(arr) {
    let minValue = 9999;

    for (let item of arr) {
        if (minValue > item) {
            minValue = item;
        }
    }

    const filterArr = arr.filter((item) => item !== minValue);

    if (filterArr.length === 0) {
        return [-1];
    } else {
        return filterArr;
    }
}

 

// 두 번째 코드
function solution(arr) {
    if (arr.length <= 1){
        return [-1]
    }

    const minTarget = Math.min(...arr)
    arr.splice(arr.indexOf(minTarget), 1)
    return arr
}
반응형

댓글