문제
풀이 코드
function solution(absolutes, signs) {
return absolutes.reduce((prev, current, idx) => {
return signs[idx] === true ? prev + current : prev + -current;
}, 0);
}
풀이 과정
reduce 함수를 통해 간단히 구현했지만, 아무래도 가독성이 좀 떨어지는거 같았다.
더 간략하게 줄일수 있을거 같아서 다른사람의 풀이를 보고 스스로 자책했다.
다른사람의 풀이
function solution(absolutes, signs) {
return absolutes.reduce((acc, val, i) => acc + (val * (signs[i] ? 1 : -1)), 0);
}
삼함 연산자에서 참 / 거짓 을 판별하기 때문에 그냥 signs[idx] 만으로도 판별이 가능한데
나는 바보처럼 === true 이거까지 붙여 코드가 더 길어졌다.
생각하고 코딩할것!