관리 메뉴

Jerry

[HackerRank] Simple Array Sum (JavaScript) 본문

Problem Solving/Algorithm 문제 풀기

[HackerRank] Simple Array Sum (JavaScript)

juicyjerry 2020. 11. 8. 19:56
반응형

 

 

Given an array of integers, find the sum of its elements.

For example, if the array , ,  ar = [1, 2, 3], 1 +2 + 3 = 6, so return 6.

 

Constraints

 

0 < n, ar[i] <= 1000

 

Solution

 

function simpleArraySum(ar) {
    let sum = 0;
    let reducer = function (acc, val, idx) {
        if(idx !== ar.length) {
            acc += val;
        }
        return acc;
    };
    
    let result = ar.reduce(reducer, sum);
    return result;
}

 

Solution 해설

 

  1. ar(parameter)은 배열이다.
  2. 배열에는 integer로 구성되어있다.
  3. 배열 안 엘리먼트(요소)들을 다 더해줘야 한다. 
  4. 그래서, 변수 sum을 만든다.
  5. (그냥 풀면 너무 쉬울거 같아 reduce 메서드를 사용해서 풀어보기로 했다)
  6. reducer를 먼저 만들어준다.
  7. reducer는 배열의 길이 값(length)이 reducer의 인덱스 값(idx)과 같게 되면 조건문 if가 성립되지 않도록 했다.
  8. 다시 말하면, 배열의 길이 값 전까지 배열의 요소들을 탐색한다는 말이다.
  9. 탐색하면서 각 요소들(val)을 accumulator(기본값) (만약 없으면 첫번째 배열의 요소가 accumulator의 역할을 한다)에 더해준다.
  10. 결괏값을 출력하기 위하여, result라는 변수에 ar.reduce(reducer, sum)을 할당하였다.
  11. result 변수를 리턴한다.

 

참고한 사이트

 

1. mdn // URL

2. blog // URL 

 

반응형