문제

 

풀이 코드

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 이거까지 붙여 코드가 더 길어졌다.

생각하고 코딩할것!

+ Recent posts