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