두 정수 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
에 넣어주고 반환한다.