Problem
정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다.
Solution
function solution(arr) {
let answer = arr.filter(x => x !== Math.min(...arr));
return answer.length === 0 ? [-1] : answer;
}
제출을 누르는 순간 테스트 1번이 너무 오래 걸려서 어..?했는데 통과하긴 했다
근데..
이렇게 오래 걸리는 게 맞나..?
흠..매번 filter할 때마다 Math.min을 찾아서 그런 거 같다
다시 코드를 작성해서 배열 중 가장 작은 수를 새 변수에 저장해주고 그 다음에 삼항 연산자에서 filter를 이용하는 걸로 수정했더니 시간이 단축되었다!
function solution(arr) {
const min = Math.min(...arr);
return arr.length === 1 ? [-1] : arr.filter(x => x !== min)
}
'프로그래머스 (JS) > Lv. 1' 카테고리의 다른 글
[Programmers / JS] 77884번 - 약수의 개수와 덧셈 (0) | 2023.03.16 |
---|---|
[Programmers / JS] 86051번 - 없는 숫자 더하기 (0) | 2023.03.15 |
[Programmers / JS] 76501번 - 음양 더하기 (0) | 2023.03.14 |
[Programmers / JS] 12916번 - 문자열 내 p와 y의 개수 (0) | 2023.03.13 |
[Programmers / JS] 12954번 - x만큼 간격이 있는 n개의 숫자 (0) | 2023.03.13 |