문제 3474 · 비트 III
조용히 비워 둘 좌석
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms / 테스트 (언어별 보정은 아래 표) | 메모리: 측정하지 않음(브라우저 채점) | 0 | 0 | 0 | 0.00% |
문제
작은 공연장에는 좌석 N개가 한 줄로 놓여 있다. 좌석 번호는 왼쪽부터 1번부터 N번까지다. 공연장 직원은 예매 현황을 배열로 정리했다. 배열의 i번째 값이 1이면 i번 좌석에 예매가 있고, 0이면 예매가 없다. 직원은 공연 중 장비를 잠시 올려놓을 수 있는 좌석이 몇 개인지 확인하려 한다. 장비를 올려놓을 수 있으려면 해당 좌석에 예매가 없어야 한다. 또한 바로 왼쪽 좌석과 바로 오른쪽 좌석 중 실제로 존재하는 모든 좌석에도 예매가 없어야 한다. 두 칸 이상 떨어진 좌석의 예매 여부는 영향을 주지 않는다. 예를 들어 어떤 좌석 자체는 비어 있더라도 바로 옆 좌석에 예매가 있으면 그 좌석은 조건을 만족하지 않는다. 줄의 양 끝에서는 존재하는 이웃만 확인한다. 1번 좌석은 오른쪽 좌석만 확인하고, N번 좌석은 왼쪽 좌석만 확인한다. 좌석이 하나뿐이면 이웃 좌석이 없으므로 그 좌석 자체의 예매 여부만 확인한다. 따라서 유일한 좌석의 값이 0이면 조건을 만족하는 좌석은 하나다. 직원이 구하려는 것은 장비를 동시에 배치하는 방법의 수가 아니라, 주어진 예매 현황에서 조건을 만족하는 좌석의 개수다. 각 좌석은 처음 주어진 배열을 기준으로 따로 판단한다. 한 좌석이 조건을 만족한다고 판단해도 배열의 값을 바꾸지 않으며, 다른 좌석의 판단에도 영향을 주지 않는다. 조건을 만족하는 좌석끼리 서로 붙어 있어도 각각 개수에 포함한다. 조건을 만족하는 좌석이 하나도 없으면 개수는 0이다. 예매 현황이 주어질 때 직원이 확인한 좌석의 개수를 구한다.
입력
첫째 줄에 정수 N이 주어진다. 1 ≤ N ≤ 1,000이다. 둘째 줄에 정수 A_1, A_2, ..., A_N이 공백으로 구분되어 주어진다. 각 A_i는 0 또는 1이다.
출력
조건을 만족하는 좌석의 개수를 정수 하나로 출력한다. 해당 좌석이 없으면 0을 출력한다.
예제 입력 1
8 0 0 1 0 0 0 1 0
예제 출력 1
2
예제 입력 2
1 0
예제 출력 2
1
예제 입력 3
3 1 0 1
예제 출력 3
0
힌트 펼치기
- 각 좌석과 실제로 존재하는 바로 옆 좌석만 확인한다.
관련 서재 장
알고리즘 분류
배열구현풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| javascript | 사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름) | 1000ms / 테스트 | 측정하지 않음(브라우저 채점) |
| python | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음(브라우저 채점) |