sumMix.js (8kyu 09)

Codewars 알고리즘 풀이


Description

  • Given an array of integers as strings and numbers, return the sum of the array values as if all were numbers.
    • 문자열과 숫자의 정수 배열이 주어진다.
    • 배열 값의 합을 숫자로 반환한다.


Solution 01

function sumMix(arr) {
  let result = 0;
  
  for (let i = 0; i < arr.length; i++) {
    result += parseInt(arr[i]);
  }
  
  return result;
}

sumMix([1, '2', 3, '4']);  // 10
sumMix(['1', 2, '3', 4]);  // 10


Solution 02

function sumMix(arr) {
  let result = 0;
  
  for (let i = 0; i < arr.length; i++) {
    result += Number(arr[i]);
  }
  
  return result;
}

sumMix([1, '2', 3, '4']);  // 10
sumMix(['1', 2, '3', 4]);  // 10


Solution 03

function sumMix(arr) {
  return arr.map(i => +i).reduce((result, i) => result + i, 0);
}

sumMix([1, '2', 3, '4']);  // 10
sumMix(['1', 2, '3', 4]);  // 10


Solution 04

function sumMix(arr) {
  return arr.reduce((result, i) => result + +i, 0);
}

sumMix([1, '2', 3, '4']);  // 10
sumMix(['1', 2, '3', 4]);  // 10