프로그래머스 음양 더하기 (javascript)

이진우·2022년 7월 15일
0

문제 설명
어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요.

입출력 예
absolutes
[4,7,12][1,2,3]
signs
[true,false,true][false,false,true]
result
9
0

1. 반복문을 통해 signs의 boolean값으로 조건문을 주어서 조건에 맞다면 +=를 맞지 않다면 -=를 해서 값을 구한다.

function solution(absolutes, signs) {
    let answer = 0;
    for (let i=0; i<signs.length; i++){
        signs[i] ? answer += absolutes[i] : answer -= absolutes[i]
    }
    return answer
}

다른사람의 풀이

function solution(absolutes, signs) {

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

reduce라는 배열 연산메소드를 사용해 참일경우 양수를 거짓일 경우 음수를 줘서 연산하는 방식인데 reduce를 잘 써보지 않기도 했고 생각을 못했었는데 다음에 사용할 경우가 생기면 그때 한번 나도 써봐야겠다😎👊🏻

profile
초보개발자의 개발일기

0개의 댓글