문제 3914 · 바이트 V
자정을 넘긴 재생 기록
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms / 테스트 (언어별 보정은 아래 표) | 메모리: 측정하지 않음(브라우저 채점) | 0 | 0 | 0 | 0.00% |
문제
음악 스트리밍 서비스에서 재생 기록의 하루 요약을 만드는 일을 맡았다. 분석에 사용하는 기록에는 재생을 시작한 시각과 종료한 시각만 남아 있으며, 날짜와 초 단위 정보는 남아 있지 않다. 모든 시각은 24시간제의 시와 분으로 표현하며, 모든 재생은 분의 경계에서 시작하고 끝난다. 각 기록의 재생 시간은 0분 이상 24시간 미만이다. 종료 시각이 시작 시각보다 이르면 다음 날에 종료한 기록이다. 종료 시각이 시작 시각보다 늦으면 시작한 날에 종료한 기록이다. 두 시각이 같으면 재생 시간이 0분인 기록이며, 하루 동안 재생한 기록으로 해석하지 않는다. 예를 들어 23:50에 시작하여 00:15에 종료한 기록의 재생 시간은 25분이며 자정을 넘긴 기록이다. 00:00에 시작하여 00:00에 종료한 기록의 재생 시간은 0분이며 자정을 넘기지 않았다. 요약에는 모든 기록의 재생 시간을 분 단위로 더한 값과 자정을 넘긴 기록의 수를 담는다. 기록은 여러 이용자로부터 수집되었으므로 재생 구간이 서로 겹칠 수 있다. 겹친 구간을 합치거나 제외하지 않고 각 기록의 재생 시간을 모두 더한다. 시작 시각과 종료 시각이 완전히 같은 기록이 여러 번 등장하더라도 각각 독립된 기록으로 센다. 입력에 주어지는 순서는 실제 재생 순서와 관계가 없으며, 앞 기록의 종료 시각을 다음 기록의 날짜 판단에 사용하지 않는다. 날짜 판단은 반드시 각 기록의 두 시각만 비교하여 수행한다. 주어진 모든 기록을 처리하여 총 재생 시간과 자정을 넘긴 기록 수를 구한다. 자정을 넘긴 기록이 하나도 없다면 해당 개수는 0이다.
입력
첫째 줄에 기록 수 N이 주어진다. N은 1 이상 30,000 이하의 정수다. 다음 N개 줄에는 시작 시각과 종료 시각이 공백으로 구분되어 주어진다. 각 시각은 정확히 HH:MM 형식이며, HH는 00 이상 23 이하, MM은 00 이상 59 이하인 두 자리 십진수다.
출력
총 재생 시간과 자정을 넘긴 기록 수를 이 순서대로 공백으로 구분하여 한 줄에 정수로 출력한다.
예제 입력 1
4 23:50 00:15 09:10 09:40 12:00 12:00 22:30 01:00
예제 출력 1
205 2
예제 입력 2
2 00:00 00:00 08:05 08:06
예제 출력 2
1 0
힌트 펼치기
- 시각을 자정부터 지난 분으로 바꾸면 두 시각을 쉽게 비교할 수 있다.
알고리즘 분류
문자열시간 계산풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| javascript | 사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름) | 1000ms / 테스트 | 측정하지 않음(브라우저 채점) |
| python | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음(브라우저 채점) |