728x90
# 문제
정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다.
# 답안
// 방법 1) splice, indexOf, Math.min() 사용
// arr를 복사해서 최솟값 구하고, arr에서 그 최솟값의 index를 구함
// arr.splice (최솟값의 인덱스, 한개) 해서 arr에서 최솟값을 삭제하기
// arr의 길이가 1보다 작으면 -1, 크면 arr
function solution(arr) {
arr.splice(arr.indexOf(Math.min(...arr)), 1);
return arr.length < 1 ? [-1] : arr;
}
// 방법 2) Math.min, filter 사용
// arr를 복사해서 최솟값 구해서 변수 min에 할당
// arr의 길이가 1이 아니면, arr에서 min을 뺀 값을 필터, 아니면 -1 return
function solution(arr) {
const min = Math.min(...arr);
return arr.length !== 1 ? arr.filter((num) => num !== min) : [-1];
}
728x90
'Coding Test > Programmers' 카테고리의 다른 글
[프로그래머스/JavaScript] 코딩 테스트 풀이 (문제 111 - 문자열 내림차순으로 배치하기) (0) | 2024.05.11 |
---|---|
[프로그래머스/JavaScript] 코딩 테스트 풀이 (문제 110 - 약수의 개수와 덧셈) (0) | 2024.05.11 |
[프로그래머스/JavaScript] 코딩 테스트 풀이 (문제 108 - 내적) (0) | 2024.05.10 |
[프로그래머스/JavaScript] 코딩 테스트 풀이 (문제 107 - 수박수박수박수박수박수?) (0) | 2024.05.10 |
[프로그래머스/JavaScript] 코딩 테스트 풀이 (문제 106 - 가운데 글자 가져오기) (0) | 2024.05.10 |