2023.05.24
어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요.
absolutes변수를 먼저 음수로 바꿔야 할 것 같아서 구글에 검색해 보았다. Math.abs()함수는 수의 부호를 바꿔준다고 해서 적용해보니 실패했다.
이번에는 불리언 배열 signs가 'false'일 경우에는 '-1'을 곱해 음수로 바꿔보자!
function solution(absolutes, signs) {
var answer = 0;
// for, if문 사용
// 1. 정수 부호 바꾸기
for (var i = 0; i < absolutes.length; i++) {
if (signs[i] === false) {
absolutes[i] *= -1; // 음수로 바꾸기
}
}
// 2. 정수 더하기
for (var i = 0; i < absolutes.length; i++) {
answer += absolutes[i];
}
return answer;
}
입력값 〉 [4, 7, 12], [true, false, true]
기댓값 〉 9
기댓값 〉 9
성공!
Math.abs()는 배열에는 적용이 불가능 한 것 같다. 기억해 두자!
let x = [1, 2, 3, 4];
let result = Math.abs(x[2]);
console.log(result); // 3