Notice
Recent Posts
Recent Comments
Link
COCO World
[JavaScript/자바스크립트] 프로그래머스 Lv.1 - 제일 작은 수 제거하기 본문
🤸♀ 문제 설명
정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다.
🤸♀ 제한 조건
- arr은 길이 1 이상인 배열입니다.
- 인덱스 i, j에 대해 i ≠ j이면 arr[i] ≠ arr[j] 입니다.
🤸♀ 입출력 예
arr | return |
[4,3,2,1] | [4,3,2] |
[10] | [-1] |
🤸♀ 작성 솔루션
function solution(arr) {
var answer = [];
for (let i = 0; i<arr.length; i++) {
if (arr.length <= 1) {
return [-1];
} else {
arr.splice(arr.indexOf(Math.min(...arr)),1);
return arr;
}
}
return answer;
}
🤸♀ 실패했던 솔루션
function solution(arr) {
var answer = [];
for (let i = 0; i<arr.length; i++) {
if (arr.length <= 1) {
return [-1];
} else {
arr.sort((a, b) => b-a);
arr.pop();
return arr;
}
}
return answer;
}
function solution(arr) {
var answer = [];
for (let i = 0; i<arr.length; i++) {
if (arr.length <= 1) {
return [-1];
} else {
arr.splice(arr.indexOf(Math.min(arr)),1);
return arr;
}
}
return answer;
}
🤸♀ TIL
- ... (threee dots)은 배열 내 파라미터들 값만 추출해서 출력해준다.
- 또, argument들이 배열로 함수 내부에 전달할때 쓰이거나, 배열 자체를 개별 원소로 쓰일 때 사용된다.
console.log(arr); // [1, 2, 3]
console.log(...arr); // 1 2 3
Math.max(1, 2, 3); // 3
let arr = [1, 2, 3];
Math.max(arr); // NaN
Math.max.apply(null, arr); // Math.max(1, 2, 3) -> 3
Math.max(...arr); // Math.max(1, 2, 3) -> 3
let array1 = new Array(1, 2, 3); // [1, 2, 3]
let array2 = new Array.apply(arr); // Uncaught TypeError: Array.apply is not a constructor
let array3 = new Array(...arr); // [1, 2, 3]
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[JavaScript/자바스크립트] 프로그래머스 Lv.1 - 하샤드 수 (0) | 2023.01.29 |
---|---|
[JavaScript/자바스크립트] 프로그래머스 Lv.1 - 콜라츠 추측 (0) | 2023.01.29 |
[JavaScript/자바스크립트] 프로그래머스 Lv.1 - 정수 제곱근 판별 (0) | 2023.01.29 |
[JavaScript/자바스크립트] 프로그래머스 Lv.1 - 정수 내림차순으로 배치하기 (0) | 2023.01.29 |
[JavaScript/자바스크립트] 프로그래머스 Lv.1 - 자연수 뒤집어 배열로 만들기 (0) | 2023.01.29 |