여러 상점의 문에서 이러한 표시를 보았을 것입니다.
개관 시간
월-금 0900-1800
sat-sun 1100-1530
여기서의 임무는 일주일 내내 영업 시간 목록에서 동일한 영업 시간으로 연속 날짜를 그룹화하여 이와 같은 부호를 생성하는 것입니다. 연속적인 것으로 간주되는주는 "주변"입니다.
입력:
- 월요일부터 시작하여 일주일에 하루의 영업 시간을 나타내는 7 가지 요소
- 각 요소는 XXXX-XXXX 형식의 문자열입니다.
입력 예 :
0900-1800 0900-1800 0930-1730 0930-1730 0900-1500 1100-1500 1100-1500- 입력을 배열로 보내는 것이 좋습니다 (예를 들어 stdin에서 읽지 않으면 함수에 대한 입력으로)
산출:
- 영업 시간 목록으로, 영업 시간이 동일한 연속 요일이 범위로 표시됩니다. 일요일 (마지막 날)과 월요일 (첫날)도 연속 일입니다.
- 하루 전과 후의 영업 시간이 비슷한 날이 인쇄됩니다.
- 요일은 세 개의 소문자로 지정됩니다. mon tue wed thu fri sat sun
- 입력의 첫 번째 요소는 mon, tue 옆에 해당합니다.
- 영업 시간은 입력과 같이 표시됩니다
두 가지 예
mon-fri 0900-1800, sat-sun 1100-1500 mon-wed 1030-1530, thu 100-1800, fri-sun 1200-1630출력은 정렬되어야하므로 요일의 요일 순서대로 범위가 나타납니다. 월요일이 첫 번째가 바람직하지만 주가 줄 바꿈하여 그룹에서 첫 번째가 아닐 수 있습니다. 따라서이 경우 tue가 첫 번째 범위입니다.
tue-fri 0900-1800, sat-mon 1100-1500연속하지 않는 한 그룹화하지 마십시오. 여기서 수요일과 금요일은 동일한 영업 시간을 갖지만 목요일에 다른 영업 시간으로 구분되어 자체적으로 나열됩니다.
mon-tue 1000-1200, wed 0900-1500, thu 1000-1800, fri 0900-1500, sat-sun 1000-1500- 출력은 여기 예와 같이 쉼표로 구분되거나 맨 위 예와 같이 줄 바꿈으로 구분 될 수 있습니다.
테스트 사례
첫 번째 줄이 입력되고 두 번째 줄이 출력됩니다
0900-1800 0900-1800 0900-1800 0900-1800 0900-1800 1100-1500 1100-1500
mon-fri 0900-1800, sat-sun 1100-1500
0900-1800 0900-1800 0900-1800 0930-1700 0900-1800 1100-1500 1100-1500
mon-wed 0900-1800, thu 0930-1700, fri 0900-1800, sat-sun 1100-1500
1100-1500 0900-1800 0900-1800 0900-1800 0900-1800 1100-1500 1100-1500
tue-fri 0900-1800, sat-mon 1100-1500
1100-1500 1100-1500 0900-1800 0900-1800 0900-1800 0900-1800 1100-1500
wed-sat 0900-1800, sun-tue 1100-1500
1200-1500 1100-1500 0900-1800 0900-1800 0900-1800 0900-1800 1100-1500
mon 1200-1500, tue 1100-1500, wed-sat 0900-1800, sun 1100-1500
규칙
이것은 코드 골프이므로 바이트 단위의 최단 답변이 이깁니다.