sumTwoSmallest.js (7kyu 02)

Codewars 알고리즘 풀이


Description

  • Create a function that returns the sum of the two lowest positive numbers given an array of minimum 4 positive integers.
    • 최소 양의 정수 4개로 구성된 배열이 주어진다.
    • 가장 낮은 두 양수의 합을 반환한다.



Solution 01

function sumTwoSmallest(str) {
  let min0 = arr[0];
  let min1 = arr[1];
  
  for (let i = 1; i < arr.length; i++) {
    if (arr[i] < min0) {
      min1 = min0;
      min0 = arr[i];
    } else if (arr[i] < min1) {
      min1 = arr[i];
    }
  }
  
  return min0 + min1;
}

sumTwoSmallest([1, 2, 3, 4]);  // 3 (1 + 2)
sumTwoSmallest([4, 3, 2, 1]);  // 3 (1 + 2)
sumTwoSmallest([1, 1, 1, 2]);  // 2 (1 + 1)


Solution 02

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

sumTwoSmallest([1, 2, 3, 4]);  // 3 (1 + 2)
sumTwoSmallest([4, 3, 2, 1]);  // 3 (1 + 2)
sumTwoSmallest([1, 1, 1, 2]);  // 2 (1 + 1)


Solution 03

function sumTwoSmallest(str) {
  const [a, b] = arr.sort((a, b) => a - b);
  
  return a + b;
}

sumTwoSmallest([1, 2, 3, 4]);  // 3 (1 + 2)
sumTwoSmallest([4, 3, 2, 1]);  // 3 (1 + 2)
sumTwoSmallest([1, 1, 1, 2]);  // 2 (1 + 1)