문제 3492 · 비트 I
지하철 혼잡도 자료 정제
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms / 테스트 (언어별 보정은 아래 표) | 메모리: 측정하지 않음(브라우저 채점) | 0 | 0 | 0 | 0.00% |
문제
지하철 자료 분석팀은 한 객차의 혼잡도를 분석하기 전에 센서가 보낸 인원수 자료를 정제하려 한다. 센서는 정해진 시점마다 객차 안에 있는 사람 수를 정수 하나로 기록한다. 하지만 장치의 일시적인 오류 때문에 음수가 기록되거나 객차의 관리 기준을 넘는 값이 기록될 수 있다. 분석팀은 잘못된 값을 분석 자료에 포함하지 않기 위해 간단한 검증 규칙을 정했다. 이 작업에서 사용하는 객차의 관리 기준 인원은 C명이다. 기록된 값 x가 0 이상 C 이하이면 유효한 기록으로 인정한다. 따라서 빈 객차를 뜻하는 0과 기준 인원에 정확히 도달한 C는 모두 유효하다. x가 음수이거나 C보다 크면 무효한 기록으로 분류하여 제외한다. 이 기준은 이번 자료 정제를 위한 규칙이며, 입력으로 주어진 C 이외의 기준은 사용하지 않는다. 무효한 값은 0이나 C로 바꾸지 않고 통째로 버린다. 유효한 값은 입력된 수 그대로 보존한다. 같은 값이 여러 번 나타나더라도 서로 다른 측정 시점의 기록이므로 각각 한 건으로 센다. 기록 사이의 시간 간격이나 인원수 변화는 검증에 사용하지 않으며, 앞뒤 기록이 무엇인지에 따라 유효 여부가 달라지지 않는다. 입력된 순서를 바꾸거나 중복 값을 제거할 필요도 없다. 분석팀에 전달할 요약에는 유효한 기록의 개수, 유효한 기록에 적힌 인원수의 합, 제외한 기록의 개수가 필요하다. 여기서 인원수의 합은 여러 측정값을 단순히 더한 값이며 서로 다른 승객의 수를 뜻하지 않는다. 평균이나 비율을 계산하지 않으므로 모든 결과는 정수다. 유효한 기록이 하나도 없다면 유효한 기록의 개수와 합을 모두 0으로 보고한다. 모든 기록을 검증한 뒤 이 세 값을 정해진 순서대로 출력한다.
입력
첫째 줄에 기록 수 N과 관리 기준 인원 C가 공백으로 구분되어 주어진다. N과 C는 정수이며 1 ≤ N ≤ 1,000, 1 ≤ C ≤ 1,000이다. 둘째 줄에 N개의 측정값 x_1, x_2, ..., x_N이 공백으로 구분되어 주어진다. 각 값은 정수이며 -1,000 ≤ x_i ≤ 2,000이다.
출력
유효한 기록의 개수, 유효한 기록의 인원수 합, 무효한 기록의 개수를 공백으로 구분하여 한 줄에 출력한다. 유효한 기록이 없으면 앞의 두 값은 모두 0이다.
예제 입력 1
7 80 0 25 -3 80 81 25 120
예제 출력 1
4 130 3
예제 입력 2
4 12 -1 13 2000 -1000
예제 출력 2
0 0 4
예제 입력 3
3 1 0 1 1
예제 출력 3
3 2 0
힌트 펼치기
- 각 측정값이 0 이상 C 이하인지 확인하고, 조건을 만족할 때만 개수와 합을 늘린다.
알고리즘 분류
데이터 검증구현풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| javascript | 사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름) | 1000ms / 테스트 | 측정하지 않음(브라우저 채점) |
| python | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음(브라우저 채점) |