문제 3556 · 비트 III
배달 도착 시각 카드
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms / 테스트 (언어별 보정은 아래 표) | 메모리: 측정하지 않음(브라우저 채점) | 0 | 0 | 0 | 0.00% |
문제
배달 앱은 주문을 접수하면 주문 상세 화면에 도착 시각 카드를 만든다. 카드에는 도착하는 날이 접수일로부터 며칠 뒤인지와, 그날의 시와 분을 함께 표시한다. 날짜 이름이나 요일은 표시하지 않는다. 이 앱에서 하루는 정확히 24시간이고 한 시간은 정확히 60분이다. 모든 시각은 24시간제로 나타내며, 자정은 0시 0분이다. 주문을 접수한 시각은 H시 M분이다. 앱은 접수 직후부터 상품 준비에 P분이 걸리고, 준비가 끝난 직후부터 이동에 Q분이 걸린다고 계산한다. 준비와 이동 사이에는 추가 대기 시간이 없으며, 두 작업은 겹쳐 진행되지 않는다. 따라서 주문을 접수한 순간부터 P분과 Q분이 모두 지난 순간이 예상 도착 시각이다. 실제 교통 상황이나 처리 지연은 이 문제에서 고려하지 않는다. 도착 시각 카드의 첫 번째 값 D는 접수일을 0일 뒤로 보았을 때의 날짜 차이다. 접수한 날 안에 도착하면 D는 0이고, 접수한 날의 다음 날에 도착하면 D는 1이다. 도착 순간이 정확히 자정이라면 그 자정으로 시작하는 새로운 날에 도착한 것으로 표시한다. 준비와 이동을 모두 마친 시점이 접수 시점과 같을 수도 있으며, 이때 날짜와 시각은 접수 당시의 값과 같다. 카드의 나머지 두 값은 도착하는 날의 시와 분이다. 시는 0 이상 23 이하, 분은 0 이상 59 이하가 되도록 나타낸다. 분을 시간으로 바꾸거나 시간을 날짜로 바꿀 때 남는 양을 버리지 않는다. 시나 분이 한 자리 수여도 앞에 0을 붙이지 않으며, 세 값 사이에는 공백을 둔다. 접수 시각과 준비 시간, 이동 시간이 주어진다. 위 규칙에 따라 도착 시각 카드에 들어갈 날짜 차이 D, 도착 시, 도착 분을 차례로 구하는 프로그램을 작성한다.
입력
첫째 줄에 정수 H, M, P, Q가 공백으로 구분되어 주어진다. 0 ≤ H ≤ 23, 0 ≤ M ≤ 59, 0 ≤ P ≤ 1,000, 0 ≤ Q ≤ 1,000이다. H와 M은 접수 시각의 시와 분이고, P와 Q는 각각 준비와 이동에 걸리는 분 단위 시간이다.
출력
접수일로부터의 날짜 차이 D, 도착하는 날의 시, 도착하는 날의 분을 공백으로 구분하여 정수로 출력한다. 접수한 날에 도착하면 D는 0이다. 시와 분에는 불필요한 앞자리 0을 붙이지 않는다.
예제 입력 1
22 45 50 40
예제 출력 1
1 0 15
예제 입력 2
8 5 0 0
예제 출력 2
0 8 5
예제 입력 3
23 50 1000 1000
예제 출력 3
2 9 10
힌트 펼치기
- 접수일의 0시 0분부터 도착 순간까지의 시간을 분 단위로 계산한다.
관련 서재 장
알고리즘 분류
사칙연산구현풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| javascript | 사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름) | 1000ms / 테스트 | 측정하지 않음(브라우저 채점) |
| python | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음(브라우저 채점) |