Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 객체
- 쌍방향 연결리스트
- display : none
- 양방향 연결리스트
- indexOf
- visibility : hidden
- 배열의 오름차순
- 인접 형제 선택자 결합
- disabled
- 가상 요소 선택자
- nth-child()
- Sort
- Array.from()
- map()
- 백준알고리즘
- invalid assignment left-hand side
- Link
- filter()
- classList.contains(string)
- Em
- 배열과 연결리스트의 차이
- 등차수열의 항 찾기
- 배열의 내림차순
- 단방향 연결리스트
- 범용 선택자
- 일반 형제 선택자 결합
- for..of
- CSS
- 고차함수
- innerhtml
Archives
- Today
- Total
프론트엔드 센트럴파크 (☞゚ヮ゚)☞
ox 퀴즈 본문
정답을 맞췄을 경우 문제당 1점을 부여하며, 연속적으로 맞출 경우 연속한 정답 개수 만큼의 가산점을 부여해준다.
표 윗줄이 채점 아랫줄이 점수
1 | 0 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 0 |
1 | 0 | 1 | 2 | 3 | 0 | 1 | 2 | 0 | 0 |
function answer(mark) {
let result = 0;
// 1 -> 1점, 연속한 1인 경우 연속한 count 만큼 점수 추가
let score = 0;
for (let i = 0; i < mark.length; i++) {
if (mark[i] == 1) {
result += ++score;
} else {
score = 0;
}
}
return result;
}
let input = [
[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],
];
for (let i = 0; i < input.length; i++) {
console.log(`#${i + 1} ${answer(input[i])}`);
}
풀이
* 0 -> 1: result(1), score(1)
* 1 -> 0: result(0), score(0)
* 2 -> 1: result(2), score(1)
* 3 -> 1: result(4), score(2)
* 4 -> 1: result(7), score(3)
* 5 -> 0: result(7), score(0)
* 6 -> 1: result(8), score(1)
* 7 -> 1: result(10), score(2)
'Algorism' 카테고리의 다른 글
두 자연수를 입력받아 각 자리의 빈도수 구하기 (0) | 2022.07.26 |
---|---|
벽돌 옮기기 (0) | 2022.07.26 |
나무 그리기 (0) | 2022.07.22 |
배열의 element들의 값이 많을 때, 정해진 합 구하기 (0) | 2022.07.22 |
두 수 최대 합 (0) | 2022.07.21 |
Comments