介绍
在德国,工作时间的规定非常严格。如果您每天工作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分钟。
请注意,这些工作时间不必用休息时间隔开。也可能存在彼此紧随的工作周期(示例请参见测试用例)。
另请注意,休息时间不会计入工作时间。这些是两个单独的值。
您可以假定工作期是有序的。
输出量
鉴于这种输入,输出truthy值,如果采取和足够的休息falsy如果没有价值。
规则
- 指定您在提交中使用的输入格式。
- 您不必处理空输入。总会有至少一个工作周期。
- 工作时间仅为一天,因此您不必在午夜时分上班。
- 只要您的语言附带日期/时间/任何内置函数即可。
- 允许功能或完整程序。
- 输入/输出的默认规则。
- 有标准漏洞。
- 这是代码高尔夫球,因此最低字节数获胜。决胜局是较早提交的。
测试用例
输入格式与上面的示例相同。
[(“ 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”)]->假/// 7:工作时间01h,休息时间为39分钟,但由于少于15分钟,因此第一次休息不算 [(“ 06:00”,“ 09:00”),(“ 09:00”,“ 11:50”)]-> TRUE //仅工作5:50h,因此无需休息 [(“” 07:30“,” 12:00“),(” 12:30“,” 16:00“)]-> TRUE // 8小时工作,休息30分钟-> OK [(“ 08:00”,“ 12:30”),(“ 13:05”,“ 17:45”)]-> FALSE // 9:10h工作,只有35分钟的休息时间,而不是所需的45分钟 [(“ 08:00”,“ 14:00”)]->假// 6h工作,不休息,但需要30分钟
编码愉快!