제일 작은 수 제거하기

ccy·2022년 1월 19일
0

알고리즘(JS)

목록 보기
26/31

큰풀이

function solution(arr) {
 //배열의 길이가 1이면 -1 출력
  if(arr.length === 1){
    return [-1]
  }
  //제일 작은번호 찾기 Math.min , ...(비구조할당)하여 arr 검색
  console.log(...arr)
  const findMin = Math.min(...arr)
  // 최소 값을 찾아 새로운 배열에 집어넣음
  const index = arr.indexOf(findMin)
  // 최소 숫자 짤라냄
  console.log(arr.splice(index,1))
  // 최종 배열 return
  console.log(arr)
  return arr
   
}

solution([4,3,2,1])

refactor

function solution(arr) {
  // 처음부터 배열을 짜르고, 조건으로 제일작은 숫자를 배제함
  arr.splice(arr.indexOf(Math.min(...arr)),1)
  // 배열길이가 1이면 -1 반환
  if(arr.length<1)return[-1];
    
  
  return arr
  
}

solution([4,3,2,1])

filter로도 가능

function solution(arr) {
 

  let answer = []
    let filterLowNum=arr.filter((arr)=>Math.min(arr)).splice(0,3)
    console.log(filterLowNum)
  
  if(arr.length<1){
    return [-1]
  }
  
}

solution([4,3,2,1])

근대 splice가 고정이다 보니 만약에 [4,3,2,1,5] 등의 길이가 발생하면 5는 배열에 추가가 안됨.. 그래서 버그가 있는 코드라고 생각한다.

profile
개발배우는중

0개의 댓글

관련 채용 정보

Powered by GraphCDN, the GraphQL CDN