[프로그래머스 | Javascript] 월간 코드 챌린지 시즌2 - 음양 더하기

박기영·2022년 9월 14일
0

프로그래머스

목록 보기
48/159
post-custom-banner

solution

function solution(absolutes, signs) {
    let sum = 0;
    
    for(let i = 0; i < absolutes.length; i++){
        let num = absolutes[i];
        let isPositive = signs[i];
        
        // signs[i]가 true이면 양수
        if(isPositive){
            sum += num;
        } else {
            // false이면 음수이다.
            sum -= num;
        }
    }
    
    return sum;
}

true, false를 이용하여 사칙연산을 분기처리하면 된다.
forEach나 reduce를 사용하는 방법도 가능할 것으로 보인다.
다만, 시간복잡도가 O(n)으로 for보다 느릴 수 있다.
참고로 for가 1.4배정도 빠르다고한다.

profile
나를 믿는 사람들을, 실망시키지 않도록
post-custom-banner

0개의 댓글