문제 4761 · 바이트 I
냉장 진열대의 기준 온도
댓글 0| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms | 측정하지 않음 | 0 | 0 | 0 | 0.00% |
문제
한 편의점은 냉장 진열대에 설치한 센서의 기록을 모아 점검 보고서를 만든다. 센서는 온도를 일정한 단위의 정수로 기록한다. 문이 열리거나 센서가 흔들리면 실제 보관 상태와 관계없는 값이 기록될 수 있으므로, 담당자는 정해진 절차에 따라 기록을 걸러 낸다. 먼저 각 기록이 장비의 유효 범위에 들어가는지 확인한다. 유효 범위의 최솟값은 L이고 최댓값은 R이다. 값이 L 이상 R 이하인 기록만 유효한 기록으로 남기며, 나머지는 범위 밖 기록으로 분류한다. 같은 값이 여러 번 기록되었더라도 각 기록은 별개로 취급한다. 다음으로 유효한 기록을 값의 오름차순으로 정렬하여 기준 온도를 정한다. 유효한 기록이 M개라면, 정렬한 결과에서 앞에서부터 ⌊(M+1)/2⌋번째 값을 기준 온도로 삼는다. 따라서 M이 짝수이면 가운데 두 값 중 작은 값이 기준 온도가 된다. 이때 순서는 1부터 센다. 기준 온도가 정해지면 유효한 기록 중 기준 온도와의 차이의 절댓값이 K보다 큰 기록을 이상치로 분류한다. 차이가 정확히 K인 기록은 이상치가 아니다. 이상치를 찾은 뒤 기준 온도를 다시 계산하거나 같은 절차를 반복하지 않는다. 범위 밖 기록은 이 단계에 참여하지 않으며 이상치 개수에도 포함하지 않는다. 보고서에는 기준 온도, 범위 밖 기록의 개수, 이상치의 개수를 차례로 적는다. 유효한 기록이 하나도 없으면 기준 온도를 정할 수 없으므로 숫자 대신 EMPTY를 적는다. 이 경우 이상치 개수는 0이다. 주어진 기록으로 보고서의 한 줄을 완성하는 프로그램을 작성한다.
입력
첫째 줄에 정수 N, L, R, K가 공백으로 주어진다. 1≤N≤50,000, -1,000≤L≤R≤1,000, 0≤K≤2,000이다. 둘째 줄에 N개의 정수 센서 값이 공백으로 주어진다. 각 값은 -1,000 이상 1,000 이하이다.
출력
기준 온도, 범위 밖 기록 개수, 이상치 개수를 공백으로 구분하여 한 줄에 출력한다. 유효한 기록이 없으면 첫 번째 항목으로 EMPTY를 출력한다.
예제 입력 1
7 0 10 2 -1 2 3 3 7 10 11
예제 출력 1
3 2 2
예제 입력 2
3 0 5 0 -2 8 9
예제 출력 2
EMPTY 3 0
예제 입력 3
4 -5 5 0 1 1 2 2
예제 출력 3
1 0 2
힌트 펼치기
- 유효한 기록만 정렬한 뒤 기준 온도를 한 번 결정한다.
알고리즘 분류
정렬구현풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
댓글 0
로그인하면 댓글을 쓸 수 있습니다.
댓글 접기·펼치기
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| JavaScript | 브라우저 JavaScript | 1000ms / 테스트 | 측정하지 않음 |
| TypeScript | TypeScript 5.9.3 | 1000ms / 테스트 | 측정하지 않음 |
| Python 3 | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음 |
| C | YoWASP Clang 22 | 2000ms / 테스트 | 측정하지 않음 |
| C++ | YoWASP Clang 22 / libc++ | 2000ms / 테스트 | 측정하지 않음 |
| Java | OpenJDK javac + TeaVM (Java 21 문법) | 3000ms / 테스트 | 측정하지 않음 |
| Lua | Wasmoon 1.16.0 / Lua 5.4 | 3000ms / 테스트 | 측정하지 않음 |
| Ruby | Ruby 3.4 / ruby.wasm 2.10.1 | 5000ms / 테스트 | 측정하지 않음 |
| Scheme | BiwaScheme 0.8.3 | 5000ms / 테스트 | 측정하지 않음 |
| Prolog | SWI-Prolog / swipl-wasm 8.2.5 | 5000ms / 테스트 | 측정하지 않음 |
| Perl | Perl 5.28 / WebPerl 0.09-beta | 5000ms / 테스트 | 측정하지 않음 |