문제 4030 · 비트 II
재생 목록이 끝나는 시각
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms / 테스트 (언어별 보정은 아래 표) | 메모리: 측정하지 않음(브라우저 채점) | 0 | 0 | 0 | 0.00% |
문제
음악 스트리밍 서비스의 운영 담당자가 예약된 재생 목록의 종료 정보를 확인하려고 한다. 관리 화면에는 재생을 시작하는 시각과 각 곡의 재생 시간이 저장되어 있다. 담당자는 이 데이터를 이용해 목록이 시작일로부터 며칠 뒤의 몇 시 몇 분에 끝나는지 표시해야 한다. 이 작업에서 모든 곡의 재생 시간은 정수 분 단위다. 재생은 시작 시각의 0초에 시작하며, 각 곡은 입력된 순서대로 정확히 한 번씩 재생된다. 한 곡이 끝나면 다음 곡이 즉시 시작된다. 곡 사이의 대기 시간, 광고, 일시 정지, 곡 건너뛰기, 반복 재생은 없다. 따라서 목록의 마지막 곡이 끝난 순간을 목록 전체의 종료 시각으로 정한다. 시각은 하루가 24시간이고 한 시간이 60분인 체계를 사용한다. 재생을 시작한 날을 0일째라고 하고, 자정을 한 번 지날 때마다 날짜 번호가 1씩 증가한다. 실제 달력의 연도, 월, 일은 사용하지 않는다. 목록의 재생 시간이 길면 자정을 여러 번 지날 수 있다. 종료 순간이 정확히 자정이라면 다음 날의 00:00으로 표시한다. 출력할 종료 정보는 날짜 번호 D와 시각 HH:MM이다. D는 시작한 날을 기준으로 한 날짜 번호이므로, 같은 날에 끝나면 0이다. HH는 00부터 23까지, MM은 00부터 59까지의 두 자리 숫자로 표시한다. 한 자리인 시나 분에는 앞에 0을 붙인다. 날짜 번호에는 불필요한 앞자리 0을 붙이지 않는다. 예를 들어 시작 시각이 23시 40분이고 전체 재생 시간이 35분이면, 종료 정보는 1일째 00:15가 된다. 시작 시각과 각 곡의 재생 시간이 주어질 때, 관리 화면에 표시할 종료 정보를 계산하는 프로그램을 작성한다. 입력에는 적어도 한 곡이 있으며 모든 곡의 재생 시간은 양수다.
입력
첫째 줄에 시작 시 H, 시작 분 M, 곡 수 N이 공백으로 구분되어 주어진다. 둘째 줄에 각 곡의 재생 시간 T1, T2, ..., TN이 분 단위로 공백으로 구분되어 주어진다. 모든 입력값은 정수다. 0 ≤ H ≤ 23, 0 ≤ M ≤ 59, 1 ≤ N ≤ 1,000, 1 ≤ Ti ≤ 180이다.
출력
종료 날짜 번호 D와 종료 시각 HH:MM을 공백 하나로 구분하여 출력한다. HH와 MM은 반드시 각각 두 자리로 출력한다. D는 앞자리 0 없이 출력한다.
예제 입력 1
23 40 2 15 20
예제 출력 1
1 00:15
예제 입력 2
0 0 8 180 180 180 180 180 180 180 180
예제 출력 2
1 00:00
예제 입력 3
8 5 3 4 7 9
예제 출력 3
0 08:25
힌트 펼치기
- 시작 시각을 0일째 자정부터 지난 분으로 바꾼 뒤 전체 재생 시간을 더한다.
알고리즘 분류
시간 계산구현풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| javascript | 사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름) | 1000ms / 테스트 | 측정하지 않음(브라우저 채점) |
| python | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음(브라우저 채점) |