728x90
반응형
(1) 내 코드
function solution(absolutes, signs) {
let num_signs = [];
let cal = [];
signs.forEach((x) => {
if (x == true) {
num_signs.push(1);
} else {
num_signs.push(-1);
}
});
for (let i = 0; i < absolutes.length; i++) {
cal.push(absolutes[i] * num_signs[i]);
}
return cal.reduce((a, c) => a + c, 0);
}
▶ num_signs 에 true면 1 / false면 -1 추가
▶ 배열의 길이만큼 돌면서 absolutes 배열의 인덱스와num_signs배열의 같은 인덱스끼리
곱하기 (숫자 * 1 또는 숫자 *-1)
▶ 배열의 합 : reduce 사용
(2) 다른 사람 풀이
function solution(absolutes, signs) {
return absolutes.reduce((acc, val, i) => acc + (val * (signs[i] ? 1 : -1)), 0);
}
▶ reduce의 인덱스를 활용하여 1과 -1값을 계산 후 더함
끝.
반응형
'코딩테스트' 카테고리의 다른 글
[프로그래머스 | JavaScript] 없는 숫자 더하기 (0) | 2023.11.16 |
---|---|
[프로그래머스 | JavaScript] 핸드폰 번호 가리기 (1) | 2023.11.15 |
[프로그래머스 | JavaScript] 나누어 떨어지는 숫자 배열 (1) | 2023.11.14 |
[프로그래머스 | JavaScript] 서울에서 김서방 찾기 (0) | 2023.11.14 |
[프로그래머스 | JavaScript] 콜라츠 추측 (0) | 2023.11.13 |