[프로그래머스] 음양 더하기 - 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() 메서드를 사용하여 간단하게 문제를 풀어봤습니다.
사용된 메서드와 문법에 대해 더 공부하고 싶으신 분은 링크를 클릭해주세요!
피드백은 언제나 환영입니다. 😊