Giriş
Burada Almanya'da çalışma sürelerine ilişkin karar çok katı. Günde 6 saat veya daha fazla çalışıyorsanız, en az 30 dakikalık bir mola vermeniz gerekir. 9 saat veya daha fazla çalışıyorsanız 45 dakikalık bir mola vermeniz gerekir. 6 saatten az çalışıyorsanız, mola vermek zorunda değilsiniz.
Tabii ki bu molaları bölebilirsiniz, ancak her bölümün sayılması için en az 15 dakika uzunluğunda olması gerekir.
Meydan okuma
Bu meydan okumada, çalışma sürelerinin bir listesini alırsınız ve aşağıdaki kuralları kullanarak yeterli molaların verilip verilmediğini kontrol etmeniz gerekir:
Izin vermek w
çalışma süresi saat olarak:
w < 6 -> No breaks needed
6 <= w < 9 -> 30 minute break needed
w >= 9 -> 45 minute break needed
Ayrıca, her ara en az 15 dakika uzunluğunda olmalıdır. Ayrıca her zaman gerekenden daha fazla mola verebilirsiniz. Bunların hepsi "en azından" değerlerdir.
Giriş
Girişiniz çalışma sürelerinin bir listesi olacaktır. Tam biçim size bağlıdır, ancak saat ve dakika olarak yalnızca zaman değerlerini içermelidir.
Misal:
Buradaki format, bir grup listesidir, ancak her grup bir çalışma periyodunu temsil eder. Bir demet içindeki ilk eleman başlangıç zamanı, ikincisi bitiş zamanı olacaktır.
[("07:00","12:00"),("12:30","15:30"),("15:45","17:15")]
Bu, toplam 9.5 saatlik çalışma süresi ve toplam 45 dakikalık mola süresi ile sonuçlanır.
Bu çalışma sürelerinin aralarla ayrılması gerekmediğini unutmayın. Sadece birbirini takip eden çalışma süreleri de olabilir (örnek test durumlarına bakınız).
Ayrıca, molaların çalışma süresine dahil olmadığını unutmayın. Bunlar iki ayrı değerdir.
Çalışma sürelerinin sipariş edildiğini varsayabilirsiniz.
Çıktı
Bu giriş, çıkış, belirli bir truthy yeterli sonları alınır ve bir olsaydı değeri falsy değer değilse.
kurallar
- Gönderinizde kullandığınız giriş biçimini belirtin.
- Boş girişi işlemek zorunda değilsiniz. Her zaman en az bir çalışma dönemi olacaktır.
- Çalışma periyotları sadece bir gün sürecektir, bu yüzden gece yarısı işinizi halletmeniz gerekmez.
- Tarih- / Saat- / Her neyse- Yerleşiminize dilinizle birlikte geldiği sürece izin verilir.
- İşlev veya tam programa izin verilir.
- Giriş / çıkış için varsayılan kurallar .
- Standart boşluklar geçerlidir.
- Bu kod golf , bu yüzden en düşük bayt sayısı kazanır. Tie-breaker daha erken sunuluyor.
Test senaryoları
Yukarıdaki örnekle aynı giriş formatı.
[("07:00", "12:00"), ("12:30", "15:30"), ("15:45", "17:15")] -> DOĞRU // 9: 30 saat çalışma, 45 dakika ara -> Tamam [("07:20", "07:45"), ("07:59", "11:30"), ("11:55", "15:00")] -> YANLIŞ // 7: 01 saat çalışma, 39 dakika ara, ancak ilk ara sayılmaz çünkü <15 dakika [("06:00", "09:00"), ("09:00", "11:50")] -> DOĞRU // Yalnızca 5: 50s çalışıyor, bu yüzden ara vermeye gerek yok [("07:30", "12:00"), ("12:30", "16:00")] -> DOĞRU // 8 saat çalışma, 30 dakika ara -> Tamam [("08:00", "12:30"), ("13:05", "17:45")] -> YANLIŞ // 9: 10s çalışma, gerekli 45 yerine sadece 35 dakika ara [("08:00", "14:00")] -> YANLIŞ // 6saat iş, ara yok, ama 30 dakika gerekli
Mutlu Kodlama!