[프로그래머스] 제일 작은 수 제거하기

지윤·2023년 1월 30일
0

프로그래머스

목록 보기
68/69

문제

풀이

function solution(arr1) {
    arr1.splice(arr1.indexOf(Math.min(...arr1)), 1);

    return arr1.length < 1 ? [-1] : arr1;
}

일단 정답코드는 위와 같다.

  • Math.min으로 arr1중 가장 작은 수를 찾고, indexOf로 위치를 찾아준다. 그리고 그 위치만 잘라준다. 그리고 잘린 배열 length 비교해서 1보다 작으면 -1 반환해주고, 아니면 잘린 배열 반환해주기.
    splice 참고: https://www.daleseo.com/js-array-slice-splice/

계속 야매로 풀던 나를 퇴치한 프로그래머스..
내장 함수 찾아서 쓰기 싫어서 sort하고 끝자리 자르고 조건문 걸어서 쉽게 풀리길래 제출했더니 코드 효율성때문에 실패가 와르르...^^
진짜 충격먹고 검색해봤는데 코드 효율성때문에 안된다고 한다..ㅎ

//효율성 ㅈㄴ 안좋은 코드라고 하네요..ㅎ 슬프다..
function solution(arr1) {
    let sort = arr1.sort((a,b) => { b - a});
    let answer = sort.slice(0,sort.length-1);
    
    answer.length < 1 ? answer = [-1] : answer;

    return answer;
}

간지나게 삼항연산자까지 썼는데.. 안된다니..
이중 for문 돌리는 것만큼 나를 힘들게 했던 문제..

profile
방금 태어난 개발자

0개의 댓글