プログラマコード問題2021/04/26-Lv.1陰陽加算


[質問]


いくつかの整数があります.パラメータは、整数配列の絶対値(整数単位)と記号(整数単位)です.解関数を完了し、実際の整数の和を求めて返してください.
せいげんじょうけん
  • 絶対値の長さは1000を超えない.
    絶対数のすべての数字は1または1000以下です.
  • 記号の長さは絶対長に等しい.
    signs[i]が真で絶対[i]を表す実際の整数は正であり、そうでなければ負である.
  • I/O例
    absolutes
    signs
    result
    [4,7,12]
    [true,false,true]
    9
    [1,2,3]
    [false,false,true]
    0
    I/O例説明
    I/O例#1
  • 符号は[true,false,true]であるため、実際の数値の値はそれぞれ4,-7,12である.
  • したがって、3つの数の和9を返さなければなりません.I/O例#2
  • 符号は[false,false,true]であるため、実際の数値の値はそれぞれ−1,−2,3である.
  • したがって、3つの数の和0を返さなければなりません.

    [回答]

    function solution(absolutes, signs) {
        return absolutes.reduce((acc, n, idx) => acc + (n * (signs[idx] ? 1 : -1)), 0);
    }
    reduceを利用して累積を求めればよい.signsによれば、absolutesの要素を符号化して加算すればよい.