본문 바로가기

Coding Test/Programmers

[프로그래머스 코딩테스트 JavaScript] Level 1-14. 제일 작은 수 제거하기

반응형

 

 

문제 설명

정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다.

제한 조건

  • arr은 길이 1 이상인 배열입니다.
  • 인덱스 i, j에 대해 i ≠ j이면 arr[i] ≠ arr[j] 입니다.

입출력 예

arrreturn

[4,3,2,1] [4,3,2]
[10] [-1]

 

 

 

 

처음 답 (실패)

 

 

 

요렇게 적었는데 테스트는 통과하는데 제출 채점하면 다 실패로 떴다. 

 

질문하기를 보니깐 배열의 순서가 바뀌면 안된다고.......... 

 

 

 

 

 

실패2

 

 

결국 이것도 배열 순서가 바뀌어서 탈락 

 

 

 

 

 

성공!!!!

배열을 어떻게 안건들이고 순서를 바꿔서 작은걸 찾나 하다가 map이 떠올랏다.

휴,,

 

 

 

다른 분들의 풀이 

 

 

Math.min(...arr)로 가장 작은 수를 이렇게 쉽게 찾을 수 있었다니 

 

 

 

 

 

 

 

 

연습 

let a = [1,2,3,4,5,6,7,8,9,10];
let b = [10,9,8,7,6,5,4,3,2,1];

console.log(Math.min(...a));
console.log(Math.min(...b));

console.log(a.indexOf(Math.min(...a)));
console.log(b.indexOf(Math.min(...b)));

 

 

 

 

 

반응형