문제 해석 :첫째항이 a, 공차가 d인 등차수열을 배열로 included 길이 만큼 만들고 included[i] 값이 true일때 등차수열 배열[i]의 누적합을 return
나의 풀이:
function solution(a, d, included) {
var answer = 0;
var arr=[];
var n= included.length;
for (let j=0; j<n; j++){
arr.push(a+d*j);
answer+=included[j]===true? arr[j]:0;
}
return answer;
}
등차수열 arr를 만들고 included[i]값이 true일 때 arr[i]값을 answer의 더해줌.
참고할만한 코드
function solution(a, d, included) {
return included.reduce((acc, flag, i) => {
return flag ? acc + a + d * i: acc
}, 0)
}
reduce 함수 reduce((accumulator,currentValue,index)=> , intialvalue) 사용
https://m.blog.naver.com/wideeyed/221877924629 <=reduce 함수참고
[JavaScript] reduce 함수
reduce는 배열의 각 요소에 대해 callback을 실행하며 단 1개의 출력 결과를 만듭니다. 즉 배열 원소를 입...
blog.naver.com
a + d * i 등차수열 기본공식을 사용하여 flag가 true일 때 acc(누적합에 더해줌) flag가 false일 때 변화없이 acc유지
'코딩테스트 문제풀기' 카테고리의 다른 글
[프로그래머스] 추억점수 lev1. (javascript) (0) | 2023.10.02 |
---|---|
[프로그래머스] 과일 장수 lev1. (javascript) (0) | 2023.06.07 |
[프로그래머스] 배열의 길이에 따라 다른 연산하기 lev0. (javascript) (0) | 2023.05.22 |
[프로그래머스] A로 B 만들 lev0. (javascript) (0) | 2023.05.22 |
[프로그래머스] 삼총사 lev1. (javascript) (0) | 2023.04.30 |