배열에서 가장 작은수 찾기

김익현·2022년 6월 22일
0

wecode

목록 보기
2/35
post-thumbnail

findSmallestElement 함수를 실행하여 가장 작은수 찾기.

조건

  • findSmallestElement 의 arr 인자는 숫자 값으로만 이루어진 배열입니다.
  • arr 의 값들 중 가장 작은 값을 리턴 해주세요.
  • 만일 arr 가 비어있으면 0을 리턴 해주세요.
  • 예를 들어, 다음과 같은 배열이 인자(input)으로 들어왔다면 1이 리턴 되어야 합니다.
  • 각 코드에 대한 설명은 주석으로 달아 놓겠습니다!

첫번째 방법 for문 사용

for문은 배열을 순회하는 가장 기본적인 순환문이다.

function findSmallestElement(arr) {
  if(arr.length == 0){
    return 0;
// 배열의 길이가 0이면 0을 반환.
  } else {
    let min = arr[0]; // 가장작은수는 일단 제일 첫번째 숫자.
    for (i in arr){ // let i=0; i<arr.length; i++ 과 같음.
      if(min > arr[i]) { // 만약 arr[i]가 min보다 작을때 밖에 있는 min 변수에
         min = arr[i]    // arr[i] 를 할당해줌. (계속 순환하기때문에 모든수를 검사.)
      }
    }return min; // 결과는 제일 작은수.
  }
}

두번째 방법 Array.sort 사용

sort란 배열에 적용하는 메서드로 오름차순 및 내림차순으로 정렬해주는 메서드이다.

function findSmallestElement(arr) {
  if(arr.length === 0 ){
    return 0;
// 배열의 길이가 0이면 0을 반환.
  } else {
  arr.sort((x,y) => { // 배열 안에있는 수를 비교해서 정렬해줌 
    if(x > y) return 1; //앞에있는 수가 뒤에있는 수보다 크면 뒤로 한칸이동
    if(x < y) return -1; // 앞에있는 수가 뒤에있는 수보다 작으면 앞으로 한칸이동
    return 0; // 같으면 그대로
  })
    return arr[0] // 맨앞으로 옮겨진 제일 작은 수를 반환
  }
}

sort에 대한 자세한 설명: https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/sort

세번째 방법 Math.min 사용

Math.min 은 배열의 가장 작은수를 반환해주는 메서드이다.

중요한점 …arr을 안쓰면 동작하지않음.

스프레드 연산자를 사용하여 배열그대로를 비교하지않고 배열의 각자의 수를 비교하게 해줘야함.

function findSmallestElement(arr) {
  return arr.length === 0 ? 0 : Math.min(...arr);
}

Math.min에 대한 자세한 설명: https://paperblock.tistory.com/62

profile
놀땐 화끈하게 놀고, 할땐 부끄럽지않게 확실하게 하자!!

0개의 댓글