점수 계산 : cnt 변수 놓기

frenchkebab·2021년 8월 19일
0
post-thumbnail


해설 풀이

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));

cnt 변수를 사용하여 훨씬 간단하게 풀었다.



내 풀이

function solution(arr) {
  let score = [];
  let answer = 0;

  if (arr[0] === 1) {
    score.push(1);
  } else {
    score.push(0);
  }

  for (let i = 1; i < arr.length; i++) {
    if (arr[i] === 0) {
      score.push(0);
      continue;
    }
    if (arr[i - 1] === 1) {
      score.push(score[i - 1] + 1);
    } else {
      score.push(1);
    }
  }

  for (let i = 0; i < score.length; i++) {
    answer += score[i];
  }
  return answer;
}

let arr = [1, 0, 1, 1, 1, 0, 0, 1, 1, 0];
console.log(solution(arr));

i - 1 번째랑 비교를 해야하므로 0번째는 따로 빼야했음

profile
Blockchain Dev Journey

0개의 댓글