मध्यम 0 हल किए गए 0% स्वीकृति

साप्ताहिक वेतन

वेतनभोगी, घंटे के हिसाब से और कमीशन वाले कर्मचारियों का हफ़्ते का वेतन जोड़ें, हर एक अपने नियम से।

आप क्या सीखेंगे

  • हर तरह के कर्मचारी के नियम से वेतन निकालना
  • 40 घंटे से ऊपर ओवरटाइम देना
  • दशमलव रकम सटीक जोड़ना

समस्या

पेरोल सिस्टम हर कर्मचारी को WeeklyPay() मेथड वाले Employee की तरह मानता है, और हर तरह का कर्मचारी इसे ओवरराइड करता है।

हर कर्मचारी ऐसे लिखा जाता है:

  • salaried <annual>: annual / 52 कमाता है।
  • hourly <rate> <hours>: पहले 40 घंटों के लिए rate × hours और 40 से ऊपर हर घंटे के लिए 1.5 × rate कमाता है।
  • commission <base> <rate> <sales>: base + rate × sales कमाता है।

weekly_payroll(employees) लिखें।

इनपुट

employees: कर्मचारी। संख्याओं में दशमलव हो सकता है।

आउटपुट

हफ़्ते का कुल वेतन लौटाएँ। 1e-6 तक के अंतर वाले जवाब स्वीकार हैं।

सीमाएँ

0 ≤ कर्मचारियों की संख्या ≤ 10,000

सभी संख्याएँ 0 से 10^7 के बीच; hours ≤ 100

उदाहरण

उदाहरण 1
इनपुट:
employees = ["salaried 52000", "hourly 20 45"]

अपेक्षित आउटपुट:
expected = 1950.0
इनपुट:
std::vector<std::string> employees = {"salaried 52000", "hourly 20 45"};

अपेक्षित आउटपुट:
double expected = 1950.0;
इनपुट:
string[] employees = new string[] {"salaried 52000", "hourly 20 45"};

अपेक्षित आउटपुट:
double expected = 1950.0;

व्याख्या

वेतनभोगी कर्मचारी 52000 / 52 = 1000 कमाता है। घंटे वाला 20 × 40 + 30 × 5 = 950 कमाता है। कुल 1950।

उदाहरण 2
इनपुट:
employees = ["commission 300 0.1 2500"]

अपेक्षित आउटपुट:
expected = 550.0
इनपुट:
std::vector<std::string> employees = {"commission 300 0.1 2500"};

अपेक्षित आउटपुट:
double expected = 550.0;
इनपुट:
string[] employees = new string[] {"commission 300 0.1 2500"};

अपेक्षित आउटपुट:
double expected = 550.0;

व्याख्या

300 + 0.1 × 2500 = 550।

कैसे हल करें

पहले खुद कोशिश करें, फिर एक-एक करके संकेत खोलें।

संकेत 1

हर तरह के कर्मचारी के लिए उसका अपना सूत्र इस्तेमाल करें।

संकेत 2

घंटे का वेतन पहले 40 घंटे सामान्य, फिर 1.5 गुना होता है।

संकेत 3

दशमलव रखें: सालाना वेतन को 52 से भाग देने पर पूर्णांक कम ही आता है।

अपेक्षित जटिलता

समय O(कर्मचारियों की संख्या), अतिरिक्त स्थान O(1)

संदर्भ

यह चुनौती CodeUtility के लिए अनुकूलित की गई है। ऊपर दिए गए स्टेटमेंट और सीमाओं का पालन करें।

दूसरों से सीखें

समुदाय समाधान

अभी तक कोई प्रकाशित समाधान नहीं। पहला साझा करने के लिए इस चुनौती को हल करें।