일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 리트코드
- 타임어택
- 타입스크립트 올인원
- 제로초
- 손에 익히며 배우는 네트워크 첫걸음
- 타입스크립트
- javascript
- 코어 자바스크립트
- 2주 프로젝트
- codestates
- 토익
- 렛츠기릿 자바스크립트
- 정재남
- 자바스크립트
- 리덕스
- 회고
- programmers
- 4주 프로젝트
- 프로그래머스
- 코드스테이츠
- 알고리즘
- SQL 고득점 Kit
- 백준
- 파이썬
- til
- python
- 리액트
- LeetCode
- Async
- js
Archives
- Today
- Total
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 해설
- ar(parameter)은 배열이다.
- 배열에는 integer로 구성되어있다.
- 배열 안 엘리먼트(요소)들을 다 더해줘야 한다.
- 그래서, 변수 sum을 만든다.
- (그냥 풀면 너무 쉬울거 같아 reduce 메서드를 사용해서 풀어보기로 했다)
- reducer를 먼저 만들어준다.
- reducer는 배열의 길이 값(length)이 reducer의 인덱스 값(idx)과 같게 되면 조건문 if가 성립되지 않도록 했다.
- 다시 말하면, 배열의 길이 값 전까지 배열의 요소들을 탐색한다는 말이다.
- 탐색하면서 각 요소들(val)을 accumulator(기본값) (만약 없으면 첫번째 배열의 요소가 accumulator의 역할을 한다)에 더해준다.
- 결괏값을 출력하기 위하여, result라는 변수에 ar.reduce(reducer, sum)을 할당하였다.
- result 변수를 리턴한다.
참고한 사이트
1. mdn // URL
2. blog // URL
반응형
'Problem Solving > Algorithm 문제 풀기' 카테고리의 다른 글
프로그래머스 자바스크립트 - 3진법 뒤집기 (0) | 2021.06.13 |
---|---|
[프로그래머스 / 자바스크립트]문자열 압축 (0) | 2021.06.10 |
[Programmers] 완주하지 못한 선수 (JavaScript) (0) | 2020.12.20 |
[HackerRank] Compare the Triplets.js (JavaScript) (0) | 2020.11.09 |
[HackerRank] Compare the Triplets (JavaScript) (0) | 2020.11.08 |