Work Schedule Generator

Work Schedule Generator

Moderate+

example

Sie erhalten eine Reihe von Mitarbeitern mit deren Arbeitsvorlieben und Fähigkeiten. Außerdem haben Sie geschäftliche Anforderungen in Bezug auf die erforderliche Arbeitszeit und die Aufgaben. Ihre Funktion sollte einen Zeitplan zurückgeben, der die geschäftlichen Anforderungen mit den verfügbaren Mitarbeitern erfüllt (wenn das möglich ist). Lassen Sie uns nun in die Details gehen.

staff ist ein dictionary, wobei die Schlüssel Namen von Mitarbeitern und die Werte dictionaries sind. Jedes Werte wörterbuch enthält drei Schlüssel-Wert-Paare:

  • "pref_shifts" - list of strings: shifts, employee wants to work at (kann "first", "second" oder beides in dieser Reihenfolge sein);
  • "days_off" - list of strings: Tage, an denen der Mitarbeiter frei haben möchte (vollständige Namen der Wochentage);
  • "skills" - list of strings: Jobs, die der Mitarbeiter machen darf.

business_needs ist ein list von drei Werten: ein Wochentag, für den ein Zeitplan erstellt werden soll - string; Anzahl der Schichten, die an diesem Tag sein sollen - integer; Aufgaben, die an diesem Tag erledigt werden sollen - list von strings.

Hinweis zu den Schichten. Jeder Mitarbeiter kann in der ersten Schicht, in der zweiten Schicht oder in beiden Schichten (ganztägig) arbeiten, außer an seinen freien Tagen. Die Anzahl der Schichten für ein Unternehmen bedeutet die Anzahl der verschiedenen Schichten, die an diesem Tag vorhanden sind. Wenn die Anzahl der Schichten 3 beispielsweise von einem Mitarbeiter abgedeckt wird, der den ganzen Tag arbeitet (seine beiden Schichten, "erste" und "zweite", insgesamt - 2) und einem weiteren Mitarbeiter (denn jeder Mitarbeiter hat mindestens eine Schicht), oder von drei Schichten eines anderen Mitarbeiters. Die Anzahl der Schichten sollte zu gleichen Teilen auf "first" und "second" aufgeteilt werden. Wenn die Anzahl der Schichten ungerade ist (und nicht gleich 1), muss "first" Tagesschicht eine Schicht mehr enthalten als "second" Tagesschicht.

Die Fähigkeiten können bei verschiedenen Mitarbeitern teilweise/vollständig gleich sein. Wenn Sie also die Tagesschichten besetzen, wählen Sie Mitarbeiter mit einer geringeren Anzahl von Fähigkeiten - sie werden in der Regel schlechter bezahlt. Wenn die Anzahl gleich ist, wählen Sie alphabetisch nach Namen aus. Aus der Sicht der Mitarbeiter hat die erste Tagesschicht Vorrang: Es ist wichtiger, dass dort Mitarbeiter mit weniger Fähigkeiten eingesetzt werden. Die Aufgaben sind eine...

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