[프로그래머스] 음양 더하기 - JavaScript

문제 출처

Lv.1 음양 더하기 - JavaScript

문제 설명

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

제한 조건
  • absolutes의 길이는 1 이상 1,000 이하입니다.
    • absolutes의 모든 수는 각각 1 이상 1,000 이하입니다.
  • signs의 길이는 absolutes의 길이와 같습니다.
    • signs[i] 가 참이면 absolutes[i] 의 실제 정수가 양수임을, 그렇지 않으면 음수임을 의미합니다.
예시

입출력 예

absolutes signs return
[4, 7, 12] [true, false, true] 9
[1, 2, 3] [false, false, true] 0
풀이
function solution(absolutes, signs) {
  let sum = 0;

  // signs의 길이는 absolutes의 길이와 같습니다.
  // forEach() 메서드를 사용하여 absolutes를 배열을 돌려줍니다.
  // forEach()의 두번 째 매개변수는 현재의 인덱스입니다.
  absolutes.forEach((n, idx) => {
    // 인덱스를 활용하여
    // sings[idx]가 true라면 n을 더해주고
    // sings[idx]가 false라면 -n을 더해줍니다.
    sum += signs[idx] ? n : -n;
  });

  return sum;
}

console.log(solution([4, 7, 12], [true, false, true])); // 9
console.log(solution([1, 2, 3], [false, false, true])); // 0
정리

오늘도 월간 코드 챌린지 문제입니다. forEach() 메서드를 사용하여 간단하게 문제를 풀어봤습니다.
사용된 메서드와 문법에 대해 더 공부하고 싶으신 분은 링크를 클릭해주세요!

forEach() 메서드 - MDN

피드백은 언제나 환영입니다. 😊