[프로그래머스1/자바스크립트] 음양더하기

음양 더하기

내가 푼 알고리즘 🎈

문제 해석

absolutes, signs 두 배열을 받고 signs 값이 true면 해당 absolutes 인덱스는 1을 곱하고, false는 -1를 곱해서 총 합을 구한다.

풀이 방법

1) signs 배열값을 1 또는 -1로 바꾼다. (map 함수를 이용)
2) reduce 함수를 이용해 총 합을 구한다.

문제점

사실 1), 2) 단계로도 잘 풀렸는데 1 + 2로 했을 때 코드가 더 간결하고 짧아져서 풀고나서 다른 사람의 풀이도 같이 봤다.

코드 🎨

function solution(absolutes, signs) {
    signs = signs.map(sign => sign? 1 : -1);
    return absolutes.reduce((acc, cur, i) => {
        return acc + cur * signs[i];
    }, 0);
}

// 다른 사람의 풀이
function solution(absolutes, signs) {
    return absolutes.reduce((acc, cur, i) => acc += cur * (sign[i]? 1 : -1), 0);
}

좋은 웹페이지 즐겨찾기