프로그래머스 1단계 : 제일 작은 수 제거하기
정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요.
단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요.
예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다.
제한 사항
arr은 길이 1 이상인 배열입니다.
인덱스 i, j에 대해 i ≠ j이면 arr[i] ≠ arr[j] 입니다.
나의 문제 풀이
변수를 지정 해준 뒤, 최소 값을 찾아줍니다. apply 메서드는 구글에서 찾아봤습니다.
apply() 메소드의 대표적인 용도는 arguments 객체와 같은, 유사 배열 객체에 배열 메소드를 사용하는 경우입니다.
또한 제거하기 위해 filter() 메서드를 사용하여 제거 해주고 길이에 따른 리턴값을 정해줍니다.
function solution(arr) {
var answer = [];
let min = Math.min.apply(null, arr); //최소값 찾기
arr = arr.filter((el) => el > min); //최소값 제거
answer = arr.length === 0 ? [-1] : arr //길이에 따라 -1 or arr 리턴
return answer;
}
다른 사람 문제 풀이
splice 메서드 안에 indexOf에서 펼침연산자로 최소 값을 찾아 준 것 같고,
if문을 사용하여 만약 길이 값이 1이 더 크면 리턴으로 -1을 해준 것 같습니다.
function solution(arr) {
arr.splice(arr.indexOf(Math.min(...arr)),1);
if(arr.length<1)return[-1];
return arr;
}
'PRO' 카테고리의 다른 글
프로그래머스 1단계 : 음양 더하기 (0) | 2022.11.16 |
---|---|
프로그래머스 1단계 : 없는 숫자 더하기 (0) | 2022.11.16 |
프로그래머스 1단계 : 나누어 떨어지는 숫자 배열 (0) | 2022.11.12 |
프로그래머스 1단계 : 핸드폰 번호 가리기 (0) | 2022.11.12 |
프로그래머스 1단계 : 서울에서 김서방 찾기 (0) | 2022.11.12 |
댓글