TIL
TIL 20241007 (제일 작은 수 제거하기 - 알고리즘)
j-coder
2024. 10. 7. 20:18
제일 작은 수 제거하기
배열에서 가장 작은수를 찾아서 제거를 하는데 배열이 빈 배열이 되는 경우에는 -1이 리턴이 되어야한다.
배열의 길이가 1인 경우에는 -1을 바로 리턴하고 1 보다 클때는 가장 작은수를 찾아서 제거해야한다.
코드
function solution(arr) {
if (arr.length === 1) return [-1];
let min = 0;
for (let i = 1; i < arr.length; i++) {
if (arr[i] < arr[min]) {
min = i;
}
}
arr.splice(min, 1);
return arr;
}
풀이
if (arr.length === 1) return [-1];
배열의 길이가 1인 경우 -1을 리턴( 리턴후 코드 종료)
let min = 0;
가장 작은수를 저장할 변수 min 초기화
for (let i = 1; i < arr.length; i++) {
if (arr[i] < arr[min]) {
min = i;
}
}
최솟값을 찾는 반복문
i는 1부터 배열 arr의 길이 -1 까지 돌아간다.
arr의 i 번째 수가 arr의 min보다 작으면 min을 i로 업데이트
arr.splice(min, 1);
return arr;
arr.splice(제거할 시작 위치, 제거할 개수)
arr 배열의 min부터 1개 제거 ( min 만 제거)
min을 제거한 arr 배열 리턴
splice 내장함수 이용해 알고리즘을 해결했다.