문제 설명
두 정수 a, d와 길이가 n인 boolean 배열 included가 주어집니다. 첫째항이 a, 공차가 d인 등차수열에서 included[i]가 i + 1항을 의미할 때, 이 등차수열의 1항부터 n항까지 included가 true인 항들만 더한 값을 return 하는 solution 함수를 작성해 주세요.
입출력 예
a | d | included | result |
3 | 4 | [true, false, false, true, true] | 37 |
7 | 1 | [false, false, false, true, false, false, false] | 10 |
코드
const solution = (a, d, included) => {
return included.reduce((acc, cur, idx) => {
return cur ? acc + a + d * idx : acc
}, 0)
}
공부
reduce
: 함수를 실행하고 하나의 결과값으로 반환
더보기
특징
1) 두개의 인자를 갖음
acc(accumulator): 누적되는 값, 최종적으로 출력되는 값
cur(current): 현재 돌고 있는 요소
idx(index): 배열 요소의 순
코드 예시
: 배열의 모근 요소를 합침
reduce 함수는 배열의 각 요소를 순회하면서 누적계산을 하므로 초기값으로 0으로 설정하고, 각 욧를 더하며 최종덕으로 모든 요소의 합을 구함
const numbers = [1, 2, 3, 4, 5];
const sum = numbers.reduce((acc, cur) => acc + cur, 0);
console.log(sum); // 출력: 15
'자바스크립트' 카테고리의 다른 글
[JavaScript] 프로그래머 등차수열의 특정한 항만 더하기 (0) | 2024.04.15 |
---|---|
[JavaScript] 프로그래머 주사위 게임 (0) | 2024.04.15 |
[JavaScript] 프로그래머 코드 처리하기 (0) | 2024.04.10 |
[JavaScript] 프로그래머스 두수의 연산값 비교하기 (0) | 2024.04.09 |
[JavaScript] 프로그래머스 조건 문자열 (0) | 2024.04.08 |