JS코딩테스트

[JS코딩테스트] 제일 작은 수 제거하기

DaeunCoding 2023. 3. 31. 07:22
728x90
반응형

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

 

프로그래머스

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

programmers.co.kr

 

[나의 풀이] - 풀다 막힘

function solution(arr) {
    //작은 수부터 재배열, 첫 번째 요소 제거
    let array = (arr) => arr.sort().slice(1);
}

내가 알고 있는 지식으로 최대한 풀어보려고 해보았다.

 

일단 sort()로 배열을 작은 수부터 정렬해주고,

slice()로 첫 번째 요소를 제외시킨다.

 

이렇게 풀다보니 오류를 마주했는데, 바로 arr의 정렬이 sort에 의해 바뀌었다는 점.

 

막막해져서 다른 블로그 글의 도움을 받았다.

 

https://gurtn.tistory.com/130

 

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

출처 https://programmers.co.kr/learn/courses/30/lessons/12935 코딩테스트 연습 - 제일 작은 수 제거하기 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단

gurtn.tistory.com

 

function solution(arr) {
    arr.splice(arr.indexOf(Math.min(...arr)), 1);
    
    return arr.length ? arr : [-1];
}

* splice(start,deleteCount) : index가 start인 부분부터 deleteCount개 삭제

 

* indexof() : 그 배열에서 같은 값을 가진 요소의 index를 찾아줌. (여러 개이면 그 중 가장 앞 요소)

 

* Math.min() : 주어진 숫자 중 가장 작은 값 반환

 

* spread연산자(...array) : 배열로 묶여있는 숫자들을 풀어줌

 ex. ...[1,2,3] = 1,2,3

 

 

 

 

728x90
반응형