min.js (8kyu 21)

Codewars 알고리즘 풀이


Problem

  • Your task is to make function min() that take a array of integers arr as input and outputs, the lowest number in that array.
    • 가장 작은 수를 반환한다.


Solution 01

function min(arr) {
  let minValue = arr[0];
  
  for (let i = 0; i < arr.length; i++) {
    if (arr[i] < minValue) {
      minValue = arr[i];
    }
  }
  return minValue;
}

min([4, 3, 2, 1]);  // 1
min([4, 2, 9, 4]);  // 2


Solution 02

function min(arr) {
  arr = arr.sort((a, b) => a - b);
  return arr[0];
}

min([4, 3, 2, 1]);  // 1
min([4, 2, 9, 4]);  // 2

sort() 메소드

배열의 element를 정렬한 후, 그 배열을 반환한다.


Solution 03

function min(arr) {
  return arr.sort((a, b) => a - b)[0];
}

min([4, 3, 2, 1]);  // 1
min([4, 2, 9, 4]);  // 2


Solution 04

function min(arr) {
  return arr.sort((a, b) => a - b).shift();
}

min([4, 3, 2, 1]);  // 1
min([4, 2, 9, 4]);  // 2

shift() 메소드

배열의 첫 번째 element를 제거하고, 그 element를 반환한다.


Solution 05

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

min([4, 3, 2, 1]);  // 1
min([4, 2, 9, 4]);  // 2

Math.min() 메소드

값이 가장 작은 수를 반환한다.