문제 3499 · 바이트 V
농장 급수 기록의 하루
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms / 테스트 (언어별 보정은 아래 표) | 메모리: 측정하지 않음(브라우저 채점) | 0 | 0 | 0 | 0.00% |
문제
한 농장에서는 여러 구역의 급수 장치가 같은 물 공급 펌프를 사용한다. 각 장치는 자신이 물을 사용한 시작 시각과 종료 시각을 기록한다. 농장 관리 화면에는 구역별 사용 시간의 합이 아니라, 하루 동안 하나 이상의 장치가 물을 사용한 총시간을 표시해야 한다. 두 장치가 동시에 물을 사용한 시간은 한 번만 센다. 모든 기록은 같은 날짜에 속하며 시각은 분 단위다. 한 기록의 시작 시각이 S이고 종료 시각이 E라면, S부터 E 직전까지 물을 사용한 것으로 본다. 예를 들어 06:10에 시작하여 06:14에 끝난 기록의 사용 시간은 4분이다. 종료 시각에 바로 다른 기록이 시작하면 두 기록 사이에 쉬는 시간은 없다. 기록은 입력에서 시간순으로 주어지지 않을 수 있다. 시작 시각은 00:00부터 23:59까지이고, 종료 시각은 00:01부터 24:00까지다. 24:00은 해당 날짜가 끝나는 순간을 나타낸다. 모든 기록에서 시작 시각은 종료 시각보다 이르며, 자정을 넘어 다음 날까지 이어지는 기록은 없다. 시각 문자열은 항상 두 자리 시와 두 자리 분 사이에 콜론을 넣은 형식이다. 같은 구역에서 보낸 기록인지와 관계없이 모든 기록을 함께 처리한다. 완전히 같은 기록이 여러 번 들어올 수도 있고, 한 기록이 다른 기록의 시간 범위 안에 전부 포함될 수도 있다. 이러한 경우에도 실제로 물을 사용한 각 분은 한 번만 세어야 한다. 기록이 하나도 없다면 총 사용 시간은 0분이다. 주어진 기록들을 이용하여 관리 화면에 표시할 하루의 총 사용 시간을 분 단위 정수로 구한다.
입력
첫째 줄에 기록 수 N이 주어진다. N은 0 이상 20,000 이하의 정수다. 다음 N개 줄에는 시작 시각 S와 종료 시각 E가 공백으로 구분되어 주어진다. 각 시각은 HH:MM 형식이다. 일반 시각의 HH는 00 이상 23 이하이고 MM은 00 이상 59 이하다. 종료 시각에 한하여 24:00도 허용된다. 모든 기록에서 S는 E보다 이르다.
출력
하나 이상의 장치가 물을 사용한 총시간을 분 단위 정수 하나로 출력한다. 기록이 없으면 0을 출력한다.
예제 입력 1
4 06:10 06:25 06:20 06:40 07:00 07:10 06:40 06:45
예제 출력 1
45
예제 입력 2
3 23:50 24:00 23:55 24:00 23:50 24:00
예제 출력 2
10
예제 입력 3
0
예제 출력 3
0
힌트 펼치기
- 시각을 자정부터 지난 분으로 바꾼다.
- 시작 시각순으로 정렬한 뒤 겹치는 시간 구간을 합친다.
알고리즘 분류
정렬구현시간 계산풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| javascript | 사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름) | 1000ms / 테스트 | 측정하지 않음(브라우저 채점) |
| python | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음(브라우저 채점) |