등차수열의 특정한 항만 더하기

2023. 11. 13. 20:10알고리즘

function solution(a, d, included) {
 let sum = 0   
 // let 각항 = 
     included.forEach((item) => {
    if (item === true){
      a + (included.length - 1)*d
        console.log(item === true); 
        console.log( included.length );
    }
})};

 

불린값이 참 일때의 길이값을 구해서 

an = a+(n-1)d 이식에 넣어서 

각항을 구한 뒤 다 더하면 될 줄 알았는데 

첫번째 입출력 예시의 값이 들어가면 

include.length의 값이 같은 값으로 3번 출력이 되더라

저번 문제에서도 참값을 반환 할때의 랭스 값 그걸 각 구할 수 있는지 궁금했었는데. 안되네 

 

다른 방법으로 접근 할 수 있는지 생각 좀 해봐야겠다.

\

 

 

for문으로 접근해서 해결

function solution(a, d, included) {
 let sum = 0   
  for(let i=1; i<= included.length;i++){
      if(included[i-1] === true){
         sum+= a+(i-1)*d
      }
  }
    return sum;
};

윗쪽  forEach에서 included.length 해결 방법은 모르겠다.

'알고리즘' 카테고리의 다른 글

제일 작은 수 제거하기  (0) 2023.12.08
공백으로 구분하기 1  (1) 2023.11.14
컨트롤 제트  (2) 2023.11.09
짝수의 합  (0) 2023.11.08
두 수의 합, 차, 곱  (1) 2023.11.03