알고리즘

프로그래머스 Level 1 - 제일 작은 수 제거하기(Javascript)

또롱또 2022. 5. 13. 07:46
728x90

https://programmers.co.kr/learn/courses/30/lessons/12935

function solution(arr) {
    var answer = [];
    // 최소값을 담을 변수
    let minNum;

    // 최소값은 Math.min()를 이용해서 찾는다. arr의 배열 안에서
    minNum = Math.min(...arr)
    
    // 삼항연산자 배열의 길이가 1이면, 인덱스가 0 뿐이니까 거기에 -1을 넣어서 반환
    // 배열의 길이가 1이 아니면 여러 숫자가있으니까
    // 그 중에서 indexOf(minIndex) 최소값이 들어있는 인덱스의 위치를 찾고
    // splice()를 이용해 제거한다 - splice(a,b) = a위치에서 b만큼 제거
    arr.length === 1 ? arr[0] = -1 : arr.splice(arr.indexOf(minIndex),1)
    
    // 정답을 담는다
    answer = arr;
    
    // 
    
    // 만약 배열의 길이가 0이면 -1을 리턴하고 아니면 배열 전체를 리턴한다
    
    return answer;
}

 

정답코드

이번에는 꽤나 비슷하게 만들었다.

차이가 있다면 최소값을 변수로 활용안하고 그냥 넣은점과

배열에 값을 넣지않고 그냥 [-1]을 리턴해 버린정도 이다.

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