코딩 개발/Javascript

JS - 배열 내 최솟값 찾기

호소세 2022. 10. 19. 15:08
728x90
반응형

말 그대로 최솟값 찾기 문제인데.... 처음에 다르게 생각해서 남의 생각을 빌려 해결했습니다.

 

처음에는 배열내 자신보다 큰 값이 있으면 splice 문법을 이용해서 삭제를 하려고 했습니다. 하지만 그 방법을 이용했을 때는 한쪽이 큰 값일 때 큰값이 있는 곳은 삭제가 되지만 다음번 에서 그 값 보다 작은 값이 나오면 삭제가 되지 않아 계속 같은 배열로 진행하게 되었습니다.

 

따라서 최솟값 구할 때 다른 방법으로 접근을 시도해 보았습니다.

function findSmallestElement(arr) {
  // your code here
  if (arr.length == 0 ){
    return 0;
  }
  else {
    let min = arr[0];
    for(let i=1; i<arr.length; i++){
      if (min>=arr[i]){
        min = arr[i];
      }
    }
    return min;
  }
}

이 코드를 이용하여 최솟값에 접근한다면 코드가 더 간단하고 가시성이 뛰어납니다.

이 방법 외에도 다른 문법이 있더라고요!

 

for 문을 배우는 분들이 아니라면 Math.min() 함수를 이용해서 최솟값을 찾는 것도 추천드립니다.

그냥 가볍게

function min(arr){
    return Math.min(...arr)
}

이런식으로 구현해도 되더라고요.(for문 학습자가 아니시라면 ...)

반응형