परिचय
यहां जर्मनी में काम के समय पर शासन बहुत सख्त है। यदि आप दिन में 6 या अधिक घंटे काम करते हैं, तो आपको कम से कम 30 मिनट का ब्रेक लेना होगा। यदि आप 9 या अधिक घंटे काम करते हैं, तो आपको 45 मिनट का ब्रेक लेना होगा। यदि आप 6 घंटे से कम काम करते हैं, तो आपको कोई ब्रेक नहीं लेना है।
बेशक आप उन ब्रेक को विभाजित कर सकते हैं, लेकिन प्रत्येक भाग को गिने जाने के लिए कम से कम 15 मिनट लंबा होना चाहिए।
चुनौती
इस चुनौती में आपको काम की अवधि की एक सूची मिलेगी और आपको यह जांचना होगा कि निम्नलिखित नियमों का उपयोग करके पर्याप्त ब्रेक लिया गया या नहीं:
w
घंटों काम करने दें :
w < 6 -> No breaks needed
6 <= w < 9 -> 30 minute break needed
w >= 9 -> 45 minute break needed
इसके अतिरिक्त, प्रत्येक ब्रेक को कम से कम 15 मिनट लंबा होना चाहिए। साथ ही आप हमेशा जरूरत से ज्यादा ब्रेक ले सकते हैं। वे सभी "कम से कम" मूल्य हैं।
इनपुट
आपका इनपुट कार्य अवधि की एक सूची होगी। सटीक प्रारूप आप पर निर्भर है, लेकिन इसमें घंटे और मिनट के रूप में केवल समय मान सम्मिलित हैं।
उदाहरण:
यहाँ प्रारूप टुपल्स की एक सूची है जबकि प्रत्येक टपल कार्य अवधि का प्रतिनिधित्व करता है। एक ट्यूपल में पहला तत्व प्रारंभ समय होगा, दूसरा अंत समय होगा।
[("07:00","12:00"),("12:30","15:30"),("15:45","17:15")]
इसका परिणाम कुल कार्य समय 9.5 घंटे और कुल ब्रेक समय 45 मिनट है।
ध्यान दें कि उन कार्य अवधियों को विराम द्वारा अलग नहीं किया जाना है। ऐसे कार्य अवधि भी हो सकते हैं जो सिर्फ एक-दूसरे का अनुसरण करते हैं (उदाहरण देखें परीक्षण मामले)।
यह भी ध्यान दें कि ब्रेक काम के समय में नहीं गिना जाता है। वे दो अलग मूल्य हैं।
आप मान सकते हैं कि कार्य अवधि का आदेश दिया गया है।
उत्पादन
इस इनपुट, आउटपुट एक को देखते हुए truthy मूल्य यदि पर्याप्त टूटता ले जाया गया है और एक falsy मूल्य नहीं तो।
नियम
- आपके द्वारा सबमिट किए जा रहे इनपुट प्रारूप को निर्दिष्ट करें।
- आपको खाली इनपुट को संभालने की आवश्यकता नहीं है। हमेशा कम से कम एक कार्य अवधि होगी।
- काम की अवधि केवल एक दिन होगी, इसलिए आपको आधी रात को काम संभालने की जरूरत नहीं है।
- दिनांक- / समय- / जो भी-जब तक आपकी भाषा के साथ आता है, तब तक निर्मित अनुमति।
- कार्य या पूर्ण कार्यक्रम की अनुमति है।
- इनपुट / आउटपुट के लिए डिफ़ॉल्ट नियम ।
- मानक खामियां लागू होती हैं।
- यह कोड-गोल्फ है , इसलिए सबसे कम बाइट-काउंट जीतता है। टाई-ब्रेकर पहले जमा करना है।
परीक्षण के मामलों
ऊपर के उदाहरण के समान इनपुट प्रारूप।
[("07:00", "12:00"), ("12:30", "15:30"), ("15:45", "17:15")] -> TRUE // 9: 30h काम, 45 मिनट का ब्रेक -> ठीक है [("07:20", "07:45"), ("07:59", "11:30"), ("11:55", "15:00")] -> FALSE // 7: 01 घंटे काम करते हैं, 39 मिनट का ब्रेक, लेकिन पहला ब्रेक गिनती नहीं है क्योंकि <15 मिनट [("06:00", "09:00"), ("09:00", "11:50")] -> TRUE // केवल 5: 50h काम, तो कोई ब्रेक की जरूरत नहीं [("07:30", "12:00"), ("12:30", "16:00")] -> TRUE // 8h वर्क, 30 मिनट का ब्रेक -> OK [("08:00", "12:30"), ("13:05", "17:45")] -> FALSE // 9: 10h काम, 45 की बजाय केवल 35 मिनट का ब्रेक [("08:00", "14:00")] -> FALSE // 6h काम, कोई ब्रेक नहीं, लेकिन 30 मिनट की जरूरत
हैप्पी कोडिंग!