본문 바로가기
Algorithm/JavaScript

[배열탐색] 점수계산

by _sweep 2021. 12. 9.

자바스크립트 알고리즘 문제풀이 강의를 듣고 정리한 내용입니다.

 

 

 

 

📋 문제

여러 개의 OX 문제로 만들어진 시험에서 연속으로 답을 맞히는 경우에는 가산점을 주기 위해 다음과 같이 점수 계산을 하기로 하였다.

1번 문제가 맞는 경우에는 1점으로 계산한다.

앞의 문제에 대해서 답을 틀리다가 답이 맞는 처음 문제는 1점으로 계산한다.

연속으로 문제의 답이 맞는 경우에는 연속으로 맞은 문제만큼의 가산점을 준다.

(1번부터 3번까지 정답을 맞힐 경우 점수는 1 + 2 + 3이 된다.)

틀린 문제는 0점으로 계산한다.

 

시험 문제의 채점 결과가 주어졌을 때 총 점수를 계산해 출력한다.

 

 

👉 입력

문제 N개의 채점 결과가 주어진다.

결과는 0 또는 1로 구성되며 0은 오답인 경우, 1은 정답인 경우이다.

 

 

👈 출력

채점 결과에 대해 총 점수를 출력한다.

 

 

📝 풀이

 

function solution(arr) {
    let answer = 0, count = 0;
    for (const num of arr) {
        if (num === 1) {
            count++;
            answer += count;
        }
        else count = 0;
    }
    return answer;
}

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

 

입력으로 주어진 채점 결과들을 for of 문을 이용해 순회한다.

만약 정답인 경우 연속성을 세기 위해 count에 1을 더한 후 answer에 count를 더해준다.

오답일 경우 연속성이 깨지기 때문에 count를 0으로 초기화한다.

 

 

 

 

 

 

'Algorithm > JavaScript' 카테고리의 다른 글

[배열탐색] 격자판 최대합  (0) 2021.12.09
[배열탐색] 등수 구하기  (0) 2021.12.09
[배열탐색] 가위바위보  (0) 2021.12.09
[배열탐색] 보이는 학생  (0) 2021.12.09
[배열탐색] 큰 수 출력하기  (0) 2021.12.09

댓글