728x90
프로그래머스 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] |
🍞 문제 풀이
이번 문제는 어떻게 해야 할지 감이 안잡혀서 많이 헤맨 것 같습니다. for in문으로 가장 작은 수를 찾고, 해당하는 수를 splice로 배열에서 잘라냈습니다.
function solution(arr) {
let num = 0;
if(arr.length == 1){
arr = [-1];
} else {
for( x in arr){
arr[num] > arr[x] ? num = x : num;
}
arr.splice(num, 1)
}
return arr;
}
🍞 다른 이의 풀이
Math.min()을 쓰면 이렇게 간단한 것을…
function solution(arr) {
arr.splice(arr.indexOf(Math.min(...arr)),1);
if(arr.length<1)return[-1];
return arr;
}
728x90
'알고리즘 공부하기' 카테고리의 다른 글
프로그래머스 1단계 - 없는 숫자 더하기 (2) | 2022.11.15 |
---|---|
프로그래머스 1단계 - 음양 더하기 (3) | 2022.11.14 |
프로그래머스 1단계 - 나누어 떨어지는 숫자 배열 (1) | 2022.11.12 |
프로그래머스 1단계 - 핸드폰 번호 가리기 (1) | 2022.11.11 |
프로그래머스 1단계 - 서울에서 김서방 찾기 (1) | 2022.11.10 |
댓글