Mittel 0 gelöst 0% Erfolgsquote

Wochenlohn

Summiere den Wochenlohn von Angestellten mit Gehalt, Stundenlohn und Provision, jeweils nach eigener Regel.

Das lernst du

  • Lohn nach einer Regel pro Mitarbeitertyp berechnen
  • Überstunden über 40 Stunden bezahlen
  • Dezimalbeträge genau summieren

Problem

Ein Lohnsystem behandelt jeden Mitarbeiter als Employee mit einer Methode WeeklyPay(), und jede Art von Mitarbeiter überschreibt sie.

Jeder Mitarbeiter wird so geschrieben:

  • salaried <annual>: verdient annual / 52.
  • hourly <rate> <hours>: verdient rate × hours für die ersten 40 Stunden und 1.5 × rate für jede Stunde über 40.
  • commission <base> <rate> <sales>: verdient base + rate × sales.

Implementiere weekly_payroll(employees).

Eingabe

employees: Die Mitarbeiter. Zahlen können Nachkommastellen haben.

Ausgabe

Gib den gesamten Wochenlohn zurück. Antworten mit einer Abweichung bis 1e-6 werden akzeptiert.

Einschränkungen

0 ≤ Anzahl der Mitarbeiter ≤ 10,000

Alle Zahlen liegen zwischen 0 und 10^7; hours ≤ 100

Beispiele

Beispiel 1
Eingabe:
employees = ["salaried 52000", "hourly 20 45"]

Erwartete Ausgabe:
expected = 1950.0
Eingabe:
std::vector<std::string> employees = {"salaried 52000", "hourly 20 45"};

Erwartete Ausgabe:
double expected = 1950.0;
Eingabe:
string[] employees = new string[] {"salaried 52000", "hourly 20 45"};

Erwartete Ausgabe:
double expected = 1950.0;

Erläuterung

Der Angestellte mit Gehalt verdient 52000 / 52 = 1000. Der Stundenlöhner verdient 20 × 40 + 30 × 5 = 950. Summe 1950.

Beispiel 2
Eingabe:
employees = ["commission 300 0.1 2500"]

Erwartete Ausgabe:
expected = 550.0
Eingabe:
std::vector<std::string> employees = {"commission 300 0.1 2500"};

Erwartete Ausgabe:
double expected = 550.0;
Eingabe:
string[] employees = new string[] {"commission 300 0.1 2500"};

Erwartete Ausgabe:
double expected = 550.0;

Erläuterung

300 + 0.1 × 2500 = 550.

So gehst du vor

Versuch es zuerst allein und öffne dann einen Hinweis nach dem anderen.

Hinweis 1

Behandle jeden Mitarbeitertyp mit seiner eigenen Formel.

Hinweis 2

Stundenlohn gilt normal für die ersten 40 Stunden, danach das 1,5-Fache.

Hinweis 3

Behalte Nachkommastellen: Jahresgehälter durch 52 ergeben selten ganze Zahlen.

Erwartete Komplexität

Zeit O(Anzahl der Mitarbeiter), zusätzlicher Speicher O(1)

Referenzen

Diese Aufgabe wurde für CodeUtility angepasst. Beachte die oben genannten Vorgaben und Einschränkungen.

Von anderen lernen

Community-Lösungen

Noch keine veröffentlichten Lösungen. Löse die Aufgabe und teile als Erster eine Lösung.