[프로그래머스 / js] 음양 더하기

음, 양의 정수들의 합 구하기

1. for문

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

2. Array.reduce()

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);

좋은 웹페이지 즐겨찾기