Вступление
Здесь, в Германии, правила рабочего времени очень строгие. Если вы работаете 6 или более часов в день, вы должны сделать перерыв не менее 30 минут. Если вы работаете 9 или более часов, вам нужно сделать 45-минутный перерыв. Если вы работаете менее 6 часов, вам не нужно делать перерывы.
Конечно, вы можете разделить эти перерывы, но каждая часть должна быть не менее 15 минут, чтобы быть посчитанным.
Соревнование
В этом задании вы получите список периодов работы и вам необходимо проверить, достаточно ли было сделано перерывов, используя следующие правила:
Позвольте w
быть время работы в часах:
w < 6 -> No breaks needed
6 <= w < 9 -> 30 minute break needed
w >= 9 -> 45 minute break needed
Кроме того, каждый перерыв должен быть не менее 15 минут. Также вы всегда можете сделать больше перерывов, чем нужно. Это все «как минимум» значения.
вход
Ваш вклад будет список рабочих периодов. Точный формат зависит от вас, но он должен содержать только значения времени в виде часов и минут.
Пример:
Формат здесь представляет собой список кортежей, в то время как каждый кортеж представляет рабочий период. Первый элемент в кортеже будет временем начала, второй - временем окончания.
[("07:00","12:00"),("12:30","15:30"),("15:45","17:15")]
В результате общее рабочее время составляет 9,5 часов, а общее время перерыва - 45 минут.
Обратите внимание, что эти рабочие периоды не должны быть разделены перерывами. Также могут быть рабочие периоды, которые просто следуют друг за другом (пример см. Контрольные примеры).
Также обратите внимание, что перерывы не учитываются в рабочее время. Это две разные ценности.
Вы можете предположить, что рабочие периоды заказаны.
Выход
Учитывая этот входной сигнал, выведите истинное значение, если было сделано достаточно перерывов и неточности значение, если нет.
правила
- Укажите формат ввода, который вы используете в своем представлении.
- Вам не нужно обрабатывать пустой ввод. Всегда будет хотя бы один рабочий период.
- Рабочие периоды будут охватывать только один день, поэтому вам не придется выполнять работу в полночь.
- Разрешено использование даты / времени / безотносительно встроенных функций, если это предусмотрено вашим языком.
- Функция или полная программа разрешены.
- Правила по умолчанию по для ввода / вывода.
- Применяются стандартные лазейки .
- Это код-гольф , поэтому выигрывает меньшее количество байт. Тай-брейк является более ранней подачей.
Контрольные примеры
Тот же формат ввода, что и в примере выше.
[("07:00", "12:00"), ("12:30", "15:30"), ("15:45", "17:15")] -> TRUE // 9: 30 часов работы, 45 минут перерыва -> ОК [("07:20", "07:45"), ("07:59", "11:30"), ("11:55", "15:00")] -> FALSE // 7: 01 час работы, 39 минут перерыва, но первый перерыв не считается, потому что <15 минут [("06:00", "09:00"), ("09:00", "11:50")] -> TRUE // Работает только 5:50, поэтому перерыв не требуется [("07:30", "12:00"), ("12:30", "16:00")] -> TRUE // 8-часовая работа, 30-минутный перерыв -> OK [("08:00", "12:30"), ("13:05", "17:45")] -> FALSE // 9: 10 часов работы, только 35 минут перерыва вместо необходимых 45 [("08:00", "14:00")] -> FALSE // 6 часов работы, без перерывов, но нужно 30 минут
Удачного кодирования!