Work Schedule Generator

Work Schedule Generator

Moderate+

example

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...

You should be an authorized user in order to see the full description and start solving this mission.
Settings
Code:
Other:
Invalid hot key. Each hot key should be unique and valid
Hot keys:
CheckiO Extensions

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.

Pair Programming (Beta-version)

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!

Waiting for Pair Programming to start...

You are trying to join a pair programming session that has not started yet.

Please wait for the session creator to join.

Waiting for Pair Programming to reconnect...

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.

×
 
 
<< <
> >>
exec show

Whats Next?

Free accounts will see Best CheckiO solutions with some delay.
Best Solutions will be opened in a moment
Become Awesome and Don't wait
The next stage is ""
Will be activated in
View More Solutions Random Review Solutions Go to the next mission