Work Schedule Generator
Otrzymują Państwo sekwencję pracowników wraz z ich preferencjami i umiejętnościami. Mają Państwo również potrzeby biznesowe dotyczące wymaganego czasu pracy i zadań. Państwa funkcja powinna zwrócić harmonogram, który spełnia potrzeby biznesowe z dostępnymi pracownikami (jeśli jest to możliwe). Przejdźmy teraz do szczegółów.
staff jest słownikiem , gdzie kluczami są nazwiska pracowników, a wartościami są słowniki . Każda wartość dictionary zawiera trzy pary klucz-wartość:
- "pref_shifts" - lista ciągów znaków: zmiany, pracownik chce pracować na (może być "first", "second" lub oba w tej kolejności);
- "days_off" - lista ciągów znaków: dni, w które pracownik chce mieć wolne (pełne nazwy dni tygodnia);
- "skills" - lista ciągów znaków: prace, które pracownik może wykonywać.
business_needs to tablica lista trzech wartości: dzień tygodnia, na który ma być sporządzony grafik - string; liczba zmian, które mają być w tym dniu - liczba całkowita; zadania, które mają być wykonane w tym dniu - lista ciągów znaków.
Proszę zwrócić uwagę na zmiany. Każdy pracownik może pracować na pierwszej, drugiej lub obu zmianach (przez cały dzień), z wyłączeniem dni wolnych. Liczba zmian dla firmy oznacza liczbę różnych zmian, które mają być obecne w tym dniu. Na przykład, jeśli liczba zmian 3, może być pokryta przez pracownika, który pracuje cały dzień (obie jego zmiany, "pierwsza" i "druga", łącznie - 2) i dowolnego pracownika więcej (ponieważ każdy pracownik ma co najmniej jedną zmianę), lub przez trzy zmiany różnych pracowników. Liczba zmian powinna być podzielona równo pomiędzy "first" i "second" zmiany dzienne. Jeśli liczba zmian jest nieparzysta (i nie jest równa 1), zmiana dzienna "first" musi obejmować o jedną zmianę więcej niż zmiana dzienna "second".
Umiejętności mogą być częściowo/całkowicie takie same dla różnych pracowników. W związku z tym przy obsadzaniu zmian dziennych należy wybierać pracowników z mniejszą liczbą umiejętności - są oni zazwyczaj gorzej opłacani. Jeśli ich liczba jest taka sama - proszę wybierać alfabetycznie według nazwisk. Z punktu widzenia zaangażowania pracowników, pierwsza zmiana dzienna ma pierwszeństwo: ważniejsze jest, aby byli na niej pracownicy z mniejszą liczbą umiejętności. Zadania to minimalna sekwencja do wykonania - sekwencja zagregowanych umiejętności...
CheckiO Extensions allow you to use local files to solve missions. More info in a blog post.
In order to install CheckiO client you'll need installed Python (version at least 3.8)
Install CheckiO Client first:
pip3 install checkio_client
Configure your tool
checkio --domain=py config --key=
Sync solutions into your local folder
checkio sync
(in beta testing) Launch local server so your browser can use it and sync solution between local file end extension on the fly. (doesn't work for safari)
checkio serv -d
Alternatevly, you can install Chrome extension or FF addon
checkio install-plugin
checkio install-plugin --ff
checkio install-plugin --chromium
Read more here about other functionality that the checkio client provides. Feel free to submit an issue in case of any difficulties.
Welcome to Pair Programming! Engage in real-time collaboration on coding projects by starting a session and sharing the provided unique URL with friends or colleagues. This feature is perfect for joint project development, debugging, or learning new skills together. Simply click 'Start Session' to begin your collaborative coding journey!
You are trying to join a pair programming session that has not started yet.
Please wait for the session creator to join.
It looks like the creator of the pair programming session closed the editor window.
It might happen accidentally, so that you can wait for reconnection.