Code note/자바스크립트 알고리즘 문제풀이
자바스크립트 배열 문제 풀이 - 문제점수 채점, 가산점 계산
코드노트
2022. 8. 23. 22:10
문제 점수를 채점하는 프로그램을 만들어야한다.
1은 1점 0은 0점
연속한 정답 개수가 있으면 가산점으로 1점씩 더 받게 된다.
채점 : [ 1, 1, 0, 1, 1, 0, 1, 1, 1, 1 ]
점수 : [ 1, 2, 0, 1, 2, 0, 1, 2, 3, 4 ]
for문을 통해서 이중for문을 하면서 비교를 해서 점수를 넣을 생각을 했다..
아직도 나는 멀었나보다......
간단한 방법이 있었다..
let score = 0;
for (let i = 0; i < mark.length; i++) {
if (mark[i] == 1) {
result += ++score;
} else {
score = 0;
}
}
- 변수를 만들어서 연속 된 정답이 있으면 ++이 되도록 해준다.
- 배열의 점수별로 1이 맞으면 결과값에 ++로 넣어주고 만약 0이면 다시 0으로 초기화를 해준다.
index | 정답 | 결과값 | score |
0 | 1 | 1 | 1 |
1 | 1 | 3 | 2 |
2 | 0 | 3 | 0 |
3 | 1 | 4 | 1 |
4 | 1 | 6 | 2 |
5 | 0 | 6 | 0 |
6 | 1 | 7 | 1 |
7 | 1 | 9 | 2 |
8 | 1 | 12 | 3 |
9 | 1 | 16 | 4 |
score가 올라간만큼 결과값에 더해주면서 최종 결과값은 16이 나온다.