[프로그래머스/Lv1/자바스크립트] 제일 작은 수 제거하기

2023. 5. 4. 12:28

문제

https://school.programmers.co.kr/learn/courses/30/lessons/12935?language=javascript# 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


코드

function solution(arr) {
    var copyArr = arr;
    var minNum = Math.min(...copyArr);
    copyArr.splice(copyArr.indexOf(minNum), 1);

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

메모

Math.min() 함수는 파라미터로 입력받은 수 중에 가장 작은 값을 반환한다.

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Math/min

 

Math.min() - JavaScript | MDN

Math.min() 함수는 주어진 숫자들 중 가장 작은 값을 반환합니다.

developer.mozilla.org

하지만 배열을 그대로 넣어버리면 동작하지 않기 때문에 배열의 값들을 하나씩 넣어주어야 한다.

전개 연산자(...)를 이용해서 배열을 펼쳐서 min() 함수의 입력값으로 넣어준다.

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/Spread_syntax

 

전개 구문 - JavaScript | MDN

전개 구문을 사용하면 배열이나 문자열과 같이 반복 가능한 문자를 0개 이상의 인수 (함수로 호출할 경우) 또는 요소 (배열 리터럴의 경우)로 확장하여, 0개 이상의 키-값의 쌍으로 객체로 확장시

developer.mozilla.org

위 코드에서 Math.min(...copyArr)은 Math.min(num1, num2, num3, ...)와 같은 의미이다.

 

배열에서 가장 작은 수를 Math.min으로 찾고 그 수의 인덱스를 찾아 배열에서 삭제한다.

이 때 splice() 메소드를 사용해서 삭제한다.

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/splice

 

Array.prototype.splice() - JavaScript | MDN

splice() 메서드는 배열의 기존 요소를 삭제 또는 교체하거나 새 요소를 추가하여 배열의 내용을 변경합니다.

developer.mozilla.org

BELATED ARTICLES

more