멍식이 2022. 9. 12. 22:03

문제 

 

 

 

 


 

 

 

내가 푼 방식 

 

 

<html>
  <head>
    <meta charset="UTF-8" />
    <title>출력결과</title>
  </head>
  <body>
    <script>
      function solution(arr) {
        let answer = 0,
          cnt = 0;
        for (let x of arr) {
          if (x === 1) {
            cnt++;
            answer += cnt;
          } else cnt = 0;
        }

        return answer;
      }

      let arr = [1, 0, 1, 1, 1, 0, 0, 1, 1, 0];
      console.log(solution(arr));
    </script>
  </body>
</html>

 

 


 

 

 

다른 풀이 

 

 

function solution2(input){
  let answer = 0;
  if(input[0] === 1) answer += 1;

  input.reduce((acc, cur) => {
      if(cur === 1) {
        acc += cur
        answer += acc;
      }
      else acc = 0;
      return acc;
  })

  return answer;
}

 

✅ reducer 

 

 

다른 풀이는 reducer를 쓰는 방식이 많았다. 다음 번엔 reducer를 써보자.