function solution(absolutes, signs) {
let result = 0;
for(let i = 0; i < signs.length; i++){
if(signs[i]){
result += absolutes[i];
} else {
result -= absolutes[i];
}
}
return result
}
function solution(absolutes, signs){
return absolutes.reduce((acc, cur, idx) => signs[idx] ? acc+cur : acc-cur, 0)
}
처음엔 리듀스의 세번째 인자로 cur의 인덱스가 들어온다는거 생각을 안하고 포루프 돌려야겠구나 싶었는데, 기억해내서 한번 써봤다.
리듀스 콜백함수 안에서 삼항연산자 사용할때
{ signs[idx] ? return acc + cur : return acc - cur }
로 사용하니 에러가 발생하던데 조금 알아봐야겠다.
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges#