[프로그래머스] 등차수열의 특정한 항만 더하기

Chobby·2023년 4월 29일
1

Programmers

목록 보기
223/345

😀제한사항

  • 1 ≤ a ≤ 100
  • 1 ≤ d ≤ 100
  • 1 ≤ included의 길이 ≤ 100
  • included에는 true가 적어도 하나 존재합니다.

😁입출력 예

adincludedresult
34[true, false, false, true, true]37
71[false, false, false, true, false, false, false]10

😂입출력 예 설명

입출력 예 #1

  • 예제 1번은 ad가 각각 3, 4이고 included의 길이가 5입니다. 이를 표로 나타내면 다음과 같습니다.
1항2항3항4항5항
등차수열371115
includedtruefalsefalsetrue

따라서 true에 해당하는 1항, 4항, 5항을 더한 3 + 15 + 19 = 37을 return 합니다.

입출력 예 #2

  • 예제 1번은 ad가 각각 3, 4이고 included의 길이가 7입니다. 이를 표로 나타내면 다음과 같습니다.
1항2항3항4항5항6항7항
등차수열789101112
includedfalsefalsefalsetruefalsefalse

따라서 4항만 true이므로 10을 return 합니다.


😃나의 풀이

function solution(a, d, included) {
    const arr = [a]
    for(let i = 1 ; i < included.length; i ++) {
        arr[i] = arr[i-1] + d
    }
    
    return arr.reduce((acc, cur, idx) => included[idx] ? acc+cur : acc , 0)
}
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글