어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 abolutes와
이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여
return 하도록 solution 함수를 완성해주세요.
| absolutes | signs | result |
|---|---|---|
| [4, 7, 12] | [true, false, true] | 9 |
| [1, 2, 3] | [false, false, true] | 0 |
[true, false, true]이므로, 실제 수들의 값은 각각 4, -7, 12 입니다.[false, false, true] 이므로, 실제 수들의 값은 각각 -1, -2, 3입니다.function solution(absolutes, signs) {
return absolutes.reduce((acc, cur, index) => {
return signs[index] ? acc + cur : acc - cur;
}, 0);
}
인수 reduce()메서드를 사용하여 풀었으며,
reduce()내부에서는 기본값 0을 갖고 숫자를 return한다.
reduce()의 현재 index로 signs[index]의 요소를 참조해 삼항연산자가
true일때 기본값(acc) + abolutes현재 인덱스의 요소와 + 연산을 하고 false일때 - 연산을 하여
최종 결과를 return 한다.