sumTwoSmallestNumbers.js (7kyu 19)

Codewars 알고리즘 풀이


Problem

  • Create a function that returns the sum of the two lowest positive numbers given an array of minimum 4 integers.
    • 최소 4개의 정수 배열에서, 가장 낮은 두 수의 합을 반환한다.


Solution 01

function sumTwoSmallestNumbers(numbers) {
   let min = numbers[0];
   let secondMin = numbers[1];
   
   for (let i = 1; i < numbers.length; i++) {
      if (numbers[i] < min) {
         secondMin = min;
         min = numbers[i];
      } else if (numbers[i] < secondMin) {
         secondMin = numbers[i];
      }
   }
   return min + secondMin;
}

sumTwoSmallestNumbers([4, 3, 2, 1]);  // 3
sumTwoSmallestNumbers([8, 7, 6, 5]);  // 11


Solution 02

function sumTwoSmallestNumbers(numbers) {
   let arr = numbers.sort((a, b) => a - b);
   return arr[0] + arr[1];
}

sumTwoSmallestNumbers([4, 3, 2, 1]);  // 3
sumTwoSmallestNumbers([8, 7, 6, 5]);  // 11

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