highAndLow.js (7kyu 01)

Codewars 알고리즘 풀이


Description

  • In this little assignment you are given a string of space separated numbers, and have to return the highest and lowest number.
    • 공백으로 구분된 숫자 문자열이 주어진다.
    • 가장 높은 숫자와 가장 낮은 숫자를 구분된 문자열로 반환한다.



Solution 01

function highAndLow(str) {
  const arr = str.split(' ');
  let max = arr[0];
  let min = arr[0];
  
  for (let i = 1; i < arr.length; i++) {
    let n = Number(arr[i]);
    
    if (n > max) max = n;
    if (n < min) min = n;
  }
  
  return max + ' ' + min;
}

highAndLow('1 2 3 4');   // 4 1
highAndLow('4 3 2 1');   // 4 1
highAndLow('4 -1 8 0');  // 8 -1


Solution 02

function highAndLow(str) {
  const arr = str.split(' ').map(Number).sort((a, b) => a - b);
  let max = arr[arr.length - 1];
  let min = arr[0];
  
  return max + ' ' + min;
}

highAndLow('1 2 3 4');   // 4 1
highAndLow('4 3 2 1');   // 4 1
highAndLow('4 -1 8 0');  // 8 -1


Solution 03

function highAndLow(str) {
  const arr = str.split(' ').map(Number);
  let max = Math.max(...arr);
  let min = Math.min(...arr);
  
  return max + ' ' + min;
}

highAndLow('1 2 3 4');   // 4 1
highAndLow('4 3 2 1');   // 4 1
highAndLow('4 -1 8 0');  // 8 -1