Muhtemelen çeşitli dükkanların kapılarında bu işaretleri gördünüz:
AÇILIŞ SAATLERİ
mon-fri 0900-1800
sat-güneş 1100-1530
Buradaki görev, tüm hafta boyunca açılış saatleri listesinden aynı açılış saatleriyle arka arkaya günleri gruplandırmak gibi bir işaret oluşturmaktır. Haftanın ardışık kabul edilenler için "etrafına sarıldığını" unutmayın.
Giriş:
- Pazartesi'den başlayarak haftada her gün için açılış saatlerini temsil eden 7 eleman.
- Her öğe XXXX-XXXX biçiminde bir dizedir
Örnek girdi:
0900-1800 0900-1800 0930-1730 0930-1730 0900-1500 1100-1500 1100-1500
- Girdiyi bir dizi olarak göndermeniz uygundur (örneğin, stdin'den okumuyorsanız bir işleve girdi olarak)
Çıktı:
- Aynı açılış saatlerine sahip birbirini izleyen günlerin aralık olarak gösterildiği açılış saatlerinin listesi. Pazar (son gün) ve pazartesi (ilk gün) de birbirini izleyen günler olduğunu unutmayın.
- Günün açılış saatlerinden önceki veya sonraki günlere benzer olmadığı bir gün kendi kendine yazdırılır
- Günler üç küçük harf olarak belirtilir: pazartesiden önce güneş
- Girişteki ilk öğenin, tonun yanındaki mon'e karşılık geldiğini unutmayın.
- Çalışma saatleri girişteki gibi gösterilir
İki örnek
mon-fri 0900-1800, sat-sun 1100-1500 mon-wed 1030-1530, thu 100-1800, fri-sun 1200-1630
Çıktı sıralanmalıdır, böylece aralıklar günlerin haftadaki sıralarına göre görünür. Pazartesi ilk olmak için tercih edilir, ancak hafta sarıldığı için bir grupta ilk olmayabilir. Yani bu durumda, ton ilk aralıktır.
tue-fri 0900-1800, sat-mon 1100-1500
Birbirini takip etmedikçe gruplandırmayın, burada çarşamba ve cuma günleri aynı çalışma saatlerine sahiptir, ancak kendileri tarafından listelenecek şekilde farklı çalışma saatleri ile bir Perşembe ile ayrılırlar.
mon-tue 1000-1200, wed 0900-1500, thu 1000-1800, fri 0900-1500, sat-sun 1000-1500
- Çıktı, buradaki örnekler olarak virgülle veya üstteki örnekte olduğu gibi bir yeni satırla ayrılabilir.
Test senaryoları
İlk satır girdi, ikinci satır beklenen çıktı
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
kurallar
Bu kod golf, bu yüzden bayttaki en kısa cevap kazanır.