pengantar
Di sini, di Jerman, peraturan tentang waktu kerja sangat ketat. Jika Anda bekerja 6 jam atau lebih sehari, Anda harus istirahat setidaknya 30 menit. Jika Anda bekerja 9 jam atau lebih, Anda perlu istirahat 45 menit. Jika Anda bekerja kurang dari 6 jam, Anda tidak perlu beristirahat.
Tentu saja Anda dapat membagi waktu istirahat itu, tetapi setiap bagian harus setidaknya 15 menit untuk dihitung.
Tantangan
Dalam tantangan ini, Anda akan mendapatkan daftar periode kerja dan Anda harus memeriksa apakah ada cukup istirahat, menggunakan aturan berikut:
Biarkan w
menjadi waktu kerja dalam jam:
w < 6 -> No breaks needed
6 <= w < 9 -> 30 minute break needed
w >= 9 -> 45 minute break needed
Selain itu, setiap istirahat harus setidaknya 15 menit. Anda juga selalu dapat istirahat lebih dari yang dibutuhkan. Itu semua adalah nilai "setidaknya".
Memasukkan
Masukan Anda akan menjadi daftar periode kerja. Format yang tepat terserah Anda, tetapi hanya memuat nilai waktu sebagai jam dan menit.
Contoh:
Format di sini adalah daftar tuple sementara masing-masing tuple mewakili periode kerja. Elemen pertama dalam sebuah tuple akan menjadi waktu mulai, yang kedua akan menjadi waktu akhir.
[("07:00","12:00"),("12:30","15:30"),("15:45","17:15")]
Ini menghasilkan total waktu kerja 9,5 jam dan total waktu istirahat 45 menit.
Perhatikan bahwa periode-periode kerja itu tidak harus dipisahkan oleh istirahat. Mungkin juga ada periode kerja yang hanya saling mengikuti (contoh lihat kasus uji).
Perhatikan juga bahwa waktu istirahat tidak termasuk dalam waktu kerja. Itu adalah dua nilai yang terpisah.
Anda dapat mengasumsikan bahwa periode kerja dipesan.
Keluaran
Diberikan input ini, output nilai kebenaran jika cukup istirahat dan nilai palsu jika tidak.
Aturan
- Tentukan format input yang Anda gunakan dalam kiriman Anda.
- Anda tidak harus menangani input kosong. Akan selalu ada setidaknya satu periode kerja.
- Periode kerja hanya akan berlangsung satu hari, jadi Anda tidak harus menangani pekerjaan selama tengah malam.
- Tanggal- / Waktu- / Apa Pun- Builtin diizinkan, asalkan bahasa Anda.
- Fungsi atau program lengkap diizinkan.
- Aturan default untuk input / output.
- Celah standar berlaku.
- Ini adalah kode-golf , sehingga byte-count terendah akan menang. Tie-breaker adalah pengiriman sebelumnya.
Uji kasus
Format input yang sama seperti pada contoh di atas.
[("07:00", "12:00"), ("12:30", "15:30"), ("15:45", "17:15")] -> TRUE // 9: 30 jam kerja, istirahat 45 menit -> OK [("07:20", "07:45"), ("07:59", "11:30"), ("11:55", "15:00")] -> FALSE // 7: 01h bekerja, istirahat 39 menit, tetapi istirahat pertama tidak dihitung karena <15 menit [("06:00", "09:00"), ("09:00", "11:50")] -> TRUE // Hanya bekerja 5: 50jam, jadi tidak perlu istirahat [("07:30", "12:00"), ("12:30", "16:00")] -> TRUE // kerja 8 jam, istirahat 30 menit -> OK [("08:00", "12:30"), ("13:05", "17:45")] -> FALSE // pekerjaan 9: 10jam, hanya 35 menit istirahat daripada yang dibutuhkan 45 [("08:00", "14:00")] -> FALSE // kerja 6 jam, tanpa istirahat, tapi 30 menit diperlukan
Selamat Coding!
sumber