max.js (8kyu 22)

Codewars 알고리즘 풀이


Problem

  • Your task is to make function max() that take a array of integers arr as input and outputs, the largest number in that array.
    • 값이 가장 큰 수를 반환한다.


Solution 01

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

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


Solution 02

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

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

sort() 메소드

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


Solution 03

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

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

pop() 메소드

배열의 마지막 element를 제거하고, 그 element를 반환한다.


Solution 04

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

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

Math.max() 메소드

값이 가장 큰 수를 반환한다.