introduction
Ici en Allemagne, la décision sur les horaires de travail est très stricte. Si vous travaillez 6 heures ou plus par jour, vous devez prendre au moins 30 minutes de pause. Si vous travaillez 9 heures ou plus, vous devez prendre une pause de 45 minutes. Si vous travaillez moins de 6 heures, vous n'avez pas à faire de pause.
Bien sûr, vous pouvez fractionner ces pauses, mais chaque partie doit durer au moins 15 minutes pour être comptée.
Le défi
Dans ce défi, vous obtiendrez une liste des périodes de travail et vous devrez vérifier si suffisamment de pauses ont été prises, en utilisant les règles suivantes:
Soit w
le temps de travail en heures:
w < 6 -> No breaks needed
6 <= w < 9 -> 30 minute break needed
w >= 9 -> 45 minute break needed
De plus, chaque pause doit durer au moins 15 minutes. Vous pouvez également toujours prendre plus de pauses que nécessaire. Ce sont toutes des valeurs "au moins".
Contribution
Votre contribution sera une liste de périodes de travail. Le format exact dépend de vous, mais il ne doit contenir que des valeurs horaires comme les heures et les minutes.
Exemple:
Le format est ici une liste de tuples tandis que chaque tuple représente une période de travail. Le premier élément d'un tuple sera l'heure de début, le second sera l'heure de fin.
[("07:00","12:00"),("12:30","15:30"),("15:45","17:15")]
Il en résulte un temps de travail total de 9,5 heures et un temps de pause total de 45 minutes.
Notez que ces périodes de travail ne doivent pas être séparées par des pauses. Il peut aussi y avoir des périodes de travail qui se succèdent (exemple voir cas de test).
Notez également que les pauses ne comptent pas dans le temps de travail. Ce sont deux valeurs distinctes.
Vous pouvez supposer que les périodes de travail sont ordonnées.
Production
Compte tenu de cette entrée, affichez une valeur véridique si suffisamment de pauses ont été prises et une valeur fausse si ce n'est pas le cas.
Règles
- Spécifiez le format d'entrée que vous utilisez dans votre soumission.
- Vous n'avez pas besoin de gérer une entrée vide. Il y aura toujours au moins une période de travail.
- Les périodes de travail ne s'étendent que sur une journée, vous n'avez donc pas à gérer le travail après minuit.
- Date- / Heure- / Peu importe - Les éditions sont autorisées, à condition qu'elles soient fournies avec votre langue.
- Fonction ou programme complet autorisé.
- Règles par défaut pour les entrées / sorties.
- Des échappatoires standard s'appliquent.
- Il s'agit de code-golf , donc le nombre d'octets le plus bas l'emporte. Le bris d'égalité est une soumission antérieure.
Cas de test
Même format d'entrée que dans l'exemple ci-dessus.
[("07:00", "12:00"), ("12:30", "15:30"), ("15:45", "17:15")] -> TRUE // 9: 30h de travail, 45 minutes de pause -> OK [("07:20", "07:45"), ("07:59", "11:30"), ("11:55", "15:00")] -> FAUX // 7: 01h de travail, 39 minutes de pause, mais la première pause ne compte pas car <15 minutes [("06:00", "09:00"), ("09:00", "11:50")] -> TRUE // Seulement 5: 50h de travail, donc pas de pause nécessaire [("07:30", "12:00"), ("12:30", "16:00")] -> TRUE // 8h de travail, 30 minutes de pause -> OK [("08:00", "12:30"), ("13:05", "17:45")] -> FAUX // 9: 10h de travail, seulement 35 minutes de pause au lieu des 45 nécessaires [("08:00", "14:00")] -> FAUX // 6h de travail, pas de pause, mais 30 minutes nécessaires
Codage heureux!