알고리즘 6

su glass·2022년 2월 1일
0

알고리즘 공부

목록 보기
6/19

제일 작은 수 제거하기

문제 설명

정수를 저장한 배열, 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) {
    let answer = [];
    const str = String(arr).split("")
    let min = Math.min.apply(null, arr)
    let filtered  = arr.filter((element) => element !== min);
    
    if(arr.length <= 1){
      answer = [-1]
    } else {
      answer = filtered;
    }
  
    return answer;
}

내가 생각한 방법은
1.숫자를 문자로 바꾸고
2.가장 작은 수를 구한후
3.가장 작은 수를 버린다.
4.그 후 빈 배열이면 -1를 출력하게 한다.로 생각하였다.
맨처음은 for문을 사용하여 작은수를 구할려고했지만 min = Math.min.apply(null, arr)이라는 작은 수를 구하는 방법이 있었기에 사용을 하였고 거의 다 하였지만 if문에서 else를 넣지 않아 오류가 떴었고 그 후 고쳤다.

profile
시작한 코딩 공부 노트

0개의 댓글