Wprowadzenie
Tutaj w Niemczech orzeczenie dotyczące czasu pracy jest bardzo surowe. Jeśli pracujesz 6 lub więcej godzin dziennie, musisz zrobić co najmniej 30-minutową przerwę. Jeśli pracujesz 9 lub więcej godzin, musisz zrobić 45-minutową przerwę. Jeśli pracujesz krócej niż 6 godzin, nie musisz robić żadnych przerw.
Oczywiście możesz podzielić te przerwy, ale każda część musi mieć co najmniej 15 minut, aby zostać policzonym.
Wyzwanie
W tym wyzwaniu otrzymasz listę okresów pracy i musisz sprawdzić, czy zrobiono wystarczającą liczbę przerw, stosując następujące zasady:
Niech w
będzie czas pracy w godzinach:
w < 6 -> No breaks needed
6 <= w < 9 -> 30 minute break needed
w >= 9 -> 45 minute break needed
Dodatkowo każda przerwa musi trwać co najmniej 15 minut. Ponadto zawsze możesz zrobić więcej przerw niż potrzeba. Są to wszystkie „przynajmniej” wartości.
Wejście
Twój wkład będzie listą okresów pracy. Dokładny format zależy od Ciebie, ale musi zawierać tylko wartości czasu jako godziny i minuty.
Przykład:
Format tutaj to lista krotek, podczas gdy każda krotka reprezentuje okres pracy. Pierwszym elementem w krotce będzie czas rozpoczęcia, drugi to czas zakończenia.
[("07:00","12:00"),("12:30","15:30"),("15:45","17:15")]
Daje to łączny czas pracy 9,5 godziny i całkowity czas przerwy 45 minut.
Pamiętaj, że te okresy robocze nie muszą być oddzielone przerwami. Mogą również istnieć okresy robocze, które po prostu następują po sobie (przykład patrz przypadki testowe).
Pamiętaj również, że przerwy nie liczą się do czasu pracy. To są dwie osobne wartości.
Możesz założyć, że okresy pracy są uporządkowane.
Wynik
Biorąc pod uwagę te dane wejściowe, wypisz wartość prawdy, jeśli wykonano wystarczającą liczbę przerw, i wartość fałsz, jeśli nie.
Zasady
- Określ format wejściowy, którego używasz w swoim zgłoszeniu.
- Nie musisz obsługiwać pustych danych wejściowych. Zawsze będzie co najmniej jeden okres roboczy.
- Okresy pracy będą trwać tylko jeden dzień, więc nie musisz zajmować się pracą do północy.
- Daty / Godzina / Cokolwiek - Wbudowane dozwolone, pod warunkiem, że pochodzi z twojego języka.
- Dozwolona funkcja lub pełny program.
- Domyślne reguły wejścia / wyjścia.
- Obowiązują standardowe luki .
- To jest golf golfowy , więc wygrywa najmniej bajtów. Tie-breaker to wcześniejsze zgłoszenie.
Przypadki testowe
Taki sam format wejściowy jak w powyższym przykładzie.
[(„07:00”, „12:00”), („12:30”, „15:30”), („15:45”, „17:15”)] -> PRAWDA // 9: 30h pracy, 45 minut przerwy -> OK [(„07:20”, „07:45”), („07:59”, „11:30”), („11:55”, „15:00”)] -> FALSE // 7: 01h pracy, 39 minut przerwy, ale pierwsza przerwa się nie liczy, ponieważ <15 minut [(„06:00”, „09:00”), („09:00”, „11:50”)] -> PRAWDA // Tylko 5:50 godzin pracy, więc przerwa nie jest wymagana [(„07:30”, „12:00”), („12:30”, „16:00”)] -> PRAWDA // 8 godzin pracy, przerwa 30 minut -> OK [(„08:00”, „12:30”), („13:05”, „17:45”)] -> FAŁSZ // 9: 10h pracy, tylko 35 minut przerwy zamiast potrzebnych 45 [(„08:00”, „14:00”)] -> FALSE // 6 godzin pracy, bez przerw, ale potrzeba 30 minut
Happy Coding!
źródło