반응형
음양 더하기
문제 설명
어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요.
예시
absolutes | signs | result |
[4, 7, 12] | [true, false, true] | 9 |
[1, 2, 3] | [false, false, true] | 0 |
코드 해석 및 전체 코드
수도코드
1. reduce 이용
2. sign이 true이면 sum에 더하고, false이면 빼기
reduce()
: 배열을 기반으로 값 하나를 도출할 때 사용한다.
absolutes → 순회할 배열
accumulator → 이전 함수 호출의 결과
i → absolutes index, 현재 배열 요소 // absolutes 배열의 요소
j → index, 요소의 위치 // signs 배열의 요소
0 → sum의 초깃값
absolutes 배열을 순회하면서 accumulator에 signs[j]가 true이면 absolutes[i]를 더하고, false이면 뺀다.
function solution(absolutes, signs) {
return absolutes.reduce((accumulator, i, j) => accumulator - (signs[j] ? -i : +i), 0);
}
반응형
'코딩 테스트 > [JS] programmers 코딩 테스트 연습' 카테고리의 다른 글
[Programmers/JS] 체육복 / 프로그래머스 코딩 테스트 연습 (0) | 2021.07.18 |
---|---|
[Programmers/JS] 모의고사 / 프로그래머스 코딩 테스트 연습 (0) | 2021.06.20 |
[Programmers/JS] 제일 작은 수 제거하기 / 프로그래머스 코딩 테스트 연습 (0) | 2021.06.20 |
[Programmers/JS] 로또의 최고 순위와 최저 순위 / 프로그래머스 코딩 테스트 연습 (0) | 2021.06.20 |
[Programmers/JS] 완주하지 못한 선수 / 프로그래머스 코딩 테스트 연습 (0) | 2021.06.20 |
댓글