[알고리즘 문제풀이] 제일 작은 수 제거하기

😎·2022년 11월 20일
0

알고리즘 문제풀이

목록 보기
17/27

문제 설명
정수를 저장한 배열, 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){

  if(arr.length>=2){
    let num = arr[0];
   for(let i=0; i<arr.length; i++){
    if(num>arr[i]){
        num =arr[i];
    }
   }
    arr.splice(arr.indexOf(num),1);
    return arr;
  }else{
    return [-1];
  }
}

문제해설
가장처음 전달받은 문자열이 길이가 2이상인지 판별한다 이후 num변수에 배열arr의 첫번째 요소값을 저장한후 for문,if 문을 이용해 각 배열의 원소들의 값과 비교하여 작은 값이 num에 재할당 되게 작성 하였다.
for문이 끝난후 배열의 가장 작은 요소의 값이 num에 저장되며, indexOf()메소드를 이용하여 해당 요소의 위치를 찾고 splice()메소드를 이용해 해당 요소 제거하였음

profile
개발 블로그

0개의 댓글