| 제출
function solution(absolutes, signs) {
return absolutes.reduce((acc, val, index) => acc + (val * (signs[index] ? 1 : -1)), 0);
}
| 풀이과정
reduce 함수는 처리할 요소의 인덱스를 인자로 가지고 있다.
absolutes[0]의 부호는 signs[0]에, absolutes[1]의 부호는 signs[1]에 담겨져 있으므로 absolutes의 배열 요소와 해당하는 인덱스를 가지고 있는 signs 요소를 곱해서 더해주면 된다.
| 개념
Array.prototype.reduce()
arr.reduce(callback[, initialValue])
- 배열의 각 요소에 대해 주어진 reducer 함수를 실행한 결과값을 반환한다.
- 매개변수는 다음과 같다.
- 콜백함수
- 누산기
- 현재 처리할 값
- 처리할 값의 인덱스, 초기값을 제공할 경우 0부터 그렇지 않을 경우 1부터 시작한다. (optional)
- 처리할 값의 원본 배열 (optional)
- 초기값 (optional)
- 지정하지 않으면 배열의 첫 번째 요소를 초기값으로 사용한다.
- 콜백함수
'Algorithm > Programmers' 카테고리의 다른 글
[프로그래머스] 내적 - level 1 (javascript) (0) | 2022.09.19 |
---|---|
[프로그래머스] 없는 숫자 더하기 - level 1 (javascript) (0) | 2022.09.19 |
[프로그래머스] 약수의 개수와 덧셈 - level 1 (javascript) (0) | 2022.09.19 |
[프로그래머스] K번째 수 - level 1 (javascript) (0) | 2022.09.05 |
[프로그래머스] 3진법 뒤집기 - level 1 (javascript) (0) | 2022.09.05 |