[TIL]for문으로 배열의 최솟값 구하기

hello__0·2022년 10월 1일
0

TIL

목록 보기
2/8

문제

  • findSmallestElement의 인자로 받는 arr는 숫자 값으로만 이루어진 배열입니다.
  • arr의 값들 중 가장 작은 값을 반환해주세요.
  • 만일 arr가 비어있으면 0을 반환해주세요.

예를들어 [20, 200, 23, 1, 3, 9] 라는 배열이 있다면 1이 반환되어야 합니다.

function findSmallestElement(arr) {
  if(arr.length === 0) {
    return 0;
  };
  for(let i=0; i<arr.length; i++) {
    let min = arr[0];
    // 변수 min에 배열의 아무 값을 임의로 설정 (가상의 최솟값)
    for (i = 0 ; i < arr.length; i++) {
      if (arr[i] < min ) {
        min = arr[i];
      } 
    } return min;  
  }
};

먼저 arr가 비어있으면 0을 반환하는 if문을 만든다.
그리고 let min 이라는 가상의 최솟값을 만든다.
배열의 첫번째 인덱스로 하는 이유는 반복문이 돌아가면서 가상의 최솟값과 숫자의 크기를 비교하기 쉽게 하기 위함이다.
반복문 안의 if문에서 min보다 작을 경우에 min에 값을 넣어준다.
그렇게 최종으로 min을 반환하면 된다.

profile
자라나라 나무나무

0개의 댓글