Einführung
Hier in Deutschland sind die Arbeitszeiten sehr streng geregelt. Wenn Sie 6 oder mehr Stunden am Tag arbeiten, müssen Sie mindestens 30 Minuten Pause einlegen. Wenn Sie 9 oder mehr Stunden arbeiten, müssen Sie eine 45-minütige Pause einlegen. Wenn Sie weniger als 6 Stunden arbeiten, müssen Sie keine Pausen einlegen.
Natürlich können Sie diese Pausen teilen, aber jeder Teil muss mindestens 15 Minuten lang sein, um gezählt zu werden.
Die Herausforderung
In dieser Herausforderung erhalten Sie eine Liste der Arbeitsperioden und müssen anhand der folgenden Regeln prüfen, ob genügend Pausen eingelegt wurden:
Geben Sie w
die Arbeitszeit in Stunden an:
w < 6 -> No breaks needed
6 <= w < 9 -> 30 minute break needed
w >= 9 -> 45 minute break needed
Außerdem muss jede Pause mindestens 15 Minuten dauern. Sie können auch immer mehr Pausen einlegen als nötig. Das sind alles "mindestens" Werte.
Eingang
Ihre Eingabe wird eine Liste von Arbeitsperioden sein. Das genaue Format liegt bei Ihnen, es darf jedoch nur Zeitangaben wie Stunden und Minuten enthalten.
Beispiel:
Das Format hier ist eine Liste von Tupeln, während jedes Tupel eine Arbeitsperiode darstellt. Das erste Element in einem Tupel ist die Startzeit, das zweite Element die Endzeit.
[("07:00","12:00"),("12:30","15:30"),("15:45","17:15")]
Dies ergibt eine Gesamtarbeitszeit von 9,5 Stunden und eine Gesamtpausenzeit von 45 Minuten.
Beachten Sie, dass diese Arbeitszeiten nicht durch Pausen getrennt werden müssen. Es kann auch Arbeitszeiten geben, die einfach aufeinander folgen (Beispiel siehe Testfälle).
Beachten Sie auch, dass Pausen nicht zur Arbeitszeit gehören. Das sind zwei getrennte Werte.
Sie können davon ausgehen, dass die Arbeitszeiten geordnet sind.
Ausgabe
Bei dieser Eingabe wird ein wahrer Wert ausgegeben , wenn genügend Pausen gemacht wurden, und ein falscher Wert, wenn nicht.
Regeln
- Geben Sie das Eingabeformat an, das Sie in Ihrer Übermittlung verwenden.
- Sie müssen keine leeren Eingaben verarbeiten. Es wird immer mindestens eine Arbeitsperiode geben.
- Die Arbeitszeit beträgt nur einen Tag, sodass Sie nicht über Mitternacht arbeiten müssen.
- Date- / Time- / Whatever- Builtins sind erlaubt, solange es mit Ihrer Sprache kommt.
- Funktion oder Vollprogramm erlaubt.
- Standardregeln für die Eingabe / Ausgabe.
- Es gelten Standardlücken .
- Dies ist Code-Golf , also gewinnt die niedrigste Byte-Anzahl. Tie-Breaker ist eine frühere Vorlage.
Testfälle
Gleiches Eingabeformat wie im obigen Beispiel.
[("07:00", "12:00"), ("12:30", "15:30"), ("15:45", "17:15")] -> WAHR // 9: 30h Arbeit, 45 Minuten Pause -> OK [("07:20", "07:45"), ("07:59", "11:30"), ("11:55", "15:00")] -> FALSE // 7: 01h Arbeit, 39 Minuten Pause, aber die erste Pause zählt nicht, weil <15 Minuten [("06:00", "09:00"), ("09:00", "11:50")] -> TRUE // Nur 5: 50h arbeiten, also keine Pause nötig [("07:30", "12:00"), ("12:30", "16:00")] -> WAHR // 8h Arbeitspause, 30 Minuten Pause -> OK [("08:00", "12:30"), ("13:05", "17:45")] -> FALSE // 9: 10h Arbeit, nur 35 Minuten Pause statt der benötigten 45 [("08:00", "14:00")] -> FALSE // 6h Arbeit, keine Pausen, aber 30 Minuten benötigt
Viel Spaß beim Codieren!
quelle