본문으로 이동
코드패스 by Devin.KR

문제 4445 · 바이트 III

우체국의 도착 예정일

인증 제출 통계 · 5분마다 갱신 · 정답 비율 = 정답 제출 / 전체 제출
시간 제한메모리 제한제출정답맞힌 사람정답 비율
1000ms / 테스트 (언어별 보정은 아래 표)메모리: 측정하지 않음(브라우저 채점)0000.00%

문제

한 우체국은 접수된 소포마다 도착 예정일을 안내한다. 이 우체국에서 영업일은 월요일부터 금요일까지이며, 토요일과 일요일에는 발송과 배송을 진행하지 않는다. 이 문제에서는 공휴일이나 임시 휴무일은 없다고 가정한다. 날짜는 그레고리력을 따르며, 하루의 시작과 끝은 모든 소포에 대해 같은 시간대를 기준으로 한다. 영업일에는 오후 4시까지 접수한 소포를 그날 발송한다. 따라서 접수 시각이 정확히 16:00이면 당일 발송 대상이다. 영업일의 16:00보다 늦게 접수한 소포는 다음 영업일에 발송한다. 토요일이나 일요일에 접수한 소포는 접수 시각과 관계없이 다음 월요일에 발송한다. 접수 시각은 분 단위로 주어지며 초는 고려하지 않는다. 각 소포에는 필요한 배송 영업일 수 T가 정해져 있다. 발송한 날은 이 수에 포함하지 않는다. 발송일 다음 날부터 영업일을 하나씩 세어 T번째 영업일을 도착 예정일로 정한다. 예를 들어 금요일에 발송한 소포의 배송 영업일 수가 1이면 다음 월요일에 도착한다. 배송 영업일 수가 5이면 다음 금요일에 도착한다. 소포들은 서로 독립적으로 처리된다. 같은 날짜와 시각에 접수한 소포가 여러 개 있어도 발송 가능 수량에는 제한이 없으며, 다른 소포 때문에 예정일이 미뤄지지 않는다. 입력 순서는 접수 시각 순서와 다를 수 있다. 출력은 날짜순으로 정렬하지 않고 입력된 소포의 순서를 그대로 유지한다. 접수 날짜는 실제로 존재하는 날짜만 주어진다. 윤년에는 2월이 29일까지 있으며, 연도가 400의 배수이거나 4의 배수이면서 100의 배수가 아니면 윤년이다. 연말이나 월말을 지나더라도 같은 규칙으로 계산한다. 각 소포의 접수 날짜, 접수 시각, 배송 영업일 수를 바탕으로 도착 예정일을 구한다.

입력

첫째 줄에 소포 수 N이 정수로 주어진다. 1≤N≤10000이다.
다음 N개 줄에 접수 날짜, 접수 시각, 배송 영업일 수 T가 공백으로 구분되어 주어진다. 날짜는 YYYY-MM-DD 형식이며 2000-01-01 이상 2099-12-31 이하의 유효한 날짜다. 시각은 HH:MM 형식으로 00:00 이상 23:59 이하이며, 1≤T≤30인 정수다. 날짜와 시각의 각 자릿수는 앞자리 0을 포함해 고정되어 있다.

출력

각 소포의 도착 예정일을 입력 순서대로 한 줄에 하나씩 YYYY-MM-DD 형식으로 출력한다. 월과 일은 두 자리로 출력한다. 도착 예정일은 2100년이 될 수도 있다.

예제 입력 1

3
2026-10-23 16:00 1
2026-10-23 16:01 5
2026-10-24 09:00 1

예제 출력 1

2026-10-26
2026-11-02
2026-10-27

예제 입력 2

2
2024-02-28 15:00 1
2099-12-31 16:00 1

예제 출력 2

2024-02-29
2100-01-01
힌트 펼치기
  • 먼저 주말 여부와 마감 시각을 반영해 발송일을 정한다.
  • 발송일이 영업일이면 배송 기간의 완전한 5영업일마다 주말 이틀을 추가할 수 있다.

출처: Devin.KR 자체 제작

알고리즘 분류날짜구현

풀이 작성

연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.

Python 기본 시간 제한 = 문제 시간 제한 × 3 + 2초. 문제별 예외는 아래 표에 반영됩니다. 표준 라이브러리만 지원합니다.

Ctrl+Enter: 연습 채점 · Tab: 들여쓰기 · Esc 후 Tab: 다음 요소로 이동. 언어별 초안은 이 브라우저에 저장됩니다. JavaScript 입력: require('fs').readFileSync(0, 'utf8'), readline 또는 input().

로그인하면 인증 제출을 사용할 수 있습니다.

풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.

    연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.

    이 브라우저의 연습 기록

      언어별 제한

      테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.

      언어엔진(버전)시간 제한메모리
      javascript사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름)1000ms / 테스트측정하지 않음(브라우저 채점)
      pythonPyodide 314.0.7 (CPython 3.14 WASM)5000ms / 테스트측정하지 않음(브라우저 채점)