음, 양의 정수들의 합 구하기
let solution = (absolute,signs) => {
let answer = 0;
for(let i=0;i<signs.length; i++){
if(signs[i]) answer += absolutes[i];
else answer -= absolutes[i];
}
return answer;
}
let arr = [4,7,12];
let comm = [true,false,true];
console.log(solution(arr,comm)); // 9
let solution = (absolute,signs) => {
let answer
= absolute.reduce((acc,cur,i) => signs[i]? acc+= cur : acc-= cur, 0);
return answer;
}
let arr = [4,7,12];
let comm = [true,false,true];
console.log(solution(arr,comm));
reduce의 콜백 함수에 삼항 조건 연산자를 사용하여 한줄로 정리
signs가 true면 +currentValue, false면 -currentValue
true면 1을 반환하고, false면 -1을 반환해서 현재 값에 곱해줘 누적하는 방법도 있다.
absolute.reduce((acc,cur,i) => signs[i]? acc+= cur : acc-= cur, 0);
absolute.reduce((acc,cur,i) => acc + (cur * (signs[i]? 1 : -1)),0);