주5일알고리즘

Programmers : 음양 더하기 with JS

Whatisblockchain 2022. 7. 20. 10:02

<나의 풀이>  - 어렵지 않게 풀었다.

function solution(absolutes, signs) {

    var newArr = absolutes.map((item, index) => {
        if(signs[index]==true){
            return item;
        }else{
            return -item;
        }
    })

    return newArr.reduce((arr, cur) => arr + cur);

}

<가장 많은 좋아요를 받은 풀이>

function solution(absolutes, signs) {

    return absolutes.reduce((acc, val, i) => acc + (val * (signs[i] ? 1 : -1)), 0);
}

본인도 위 풀이처럼 reduce를 활용하려 했으나 중간에 if 문을 넣는게 지저분해 보일거 같았는데, 이렇게 하니 깔끔한거 같다.

 

삼항연산자 활용 + 직접연산도 활용하자