
두 정수 a, d와 길이가 n인 boolean 배열 included가 주어집니다. 첫째항이 a, 공차가 d인 등차수열에서 included[i]가 i + 1항을 의미할 때, 이 등차수열의 1항부터 n항까지 included가 true인 항들만 더한 값을 return 하는 solution 함수를 작성해 주세요.

function solution(a, d, included) {
var answer = 0;
return answer;
}
solution(3, 4, [true, false, false, true, true])
// 37
solution(7, 1, [false, false, false, true, false, false, false])
// 10
사실 수포자였던 나는 등차수열이 뭔지도 몰랐고...
chatGPT에게 등차수열이 대체 뭐고 어떻게 계산하는지 물어봤다. (솔직)
function solution(a, d, included) {
// a 는 첫째항
// d 는 공차값이 전달되었다
let diffArray = []
for(i=1; i <= included.length; i++){
diffArray.push(a + (i - 1) * d);
}
}
이렇게 구하면 된다고 한다... 🥲
GPT야 고마옹
function solution(a, d, included) {
let diffArray = []
let answer = 0
for(i=1; i <= included.length; i++){
diffArray.push(a + (i - 1) * d);
}
included.map((item, index) => item ? answer += diffArray[index] : null)
return answer
}
for문을 돌려서 구해진 등차수열을 diffArray 배열에 담는다.map을 돌려서 included 배열의 item이 true인 것들을 다 더해서 answer에 넣어주고 반환한다.