[JS 문제풀이] 배열-점수합계 구하기

rlorxl·2022년 2월 14일
0

문제

OX퀴즈쇼에서 정답을 맞췄을 경우 문제당 1점을 부여하며, 연속적으로 맞출 경우 연속한 정답 개수 만큼의 가산점을 부여해준다. 채점표를 보고 점수를 산출해주는 프로그램을 제작하시오. 채점값은 정담 1, 오답 0으로 입력되며 점수의 합계를 반환한다.

풀이

  • 입력 값이 1이면 result에 1을 추가한다.
  • 이전 배열의 값이 1이면 '이전까지의 점수'에 1을 추가한다.
  • 입력 값이 0이면 가산점을 초기화한다.

코드

let input2 = [
    [1, 0, 1, 1, 1, 0, 1, 1, 0, 0],
    [1, 1, 0, 1, 1, 0, 1, 1, 1, 1],
    [1, 1, 1, 1, 1, 0, 0, 1, 1, 0],
]
function answer(mark){
    let result = 0; // 전체 점수
    let accum = 0; // 누적점수를 담는 변수
  
    for(let i = 0; i < mark.length; i++){
      // 입력 값이 1일 경우 변수에 1을 담고 result에 추가.
        if(mark[i] == 1){
            accum += 1; 
            result += accum;
        } else {
            accum = 0;
        }
    }

    return result;
}

결과

10
16
18
profile
즐겜하는거죠

0개의 댓글