मूल रूप से @Tlink द्वारा पोस्ट किया गया (और हटा दिया गया) , जो इस StackOverflow प्रश्न से सबसे अधिक प्रेरित था ।
चूंकि यह शर्म की बात थी, इसलिए इसे हटा दिया गया, क्योंकि यह सामान्य रूप से एक अच्छी चुनौती थी, मुझे लगा कि मैं इसे उचित प्रारूपण और नियमों के साथ फिर से तैयार करूंगा। (मैंने @Tlink से संपर्क करने की कोशिश की है और उसे इसे पोस्ट करने की अनुमति प्राप्त कर रहा हूं , लेकिन वह कोई भी प्रतिक्रिया नहीं देता है, यही कारण है कि मैंने इसे अब स्वयं पोस्ट करने का फैसला किया है।)
इनपुट: छह अंक
आउटपुट: या तो 24 घंटे के प्रारूप में (पहले के 00:00:00
माध्यम से 23:59:59
) अंतिम या अंतिम वैध समय । (आप अपने आप को चुन सकते हैं कि क्या आप पहले या अंतिम वैध समय का उत्पादन करते हैं।)
उदाहरण:
जब इनपुट होते हैं 1,8,3,2,6,4
, तो निम्नलिखित समय बनाए जा सकते हैं:
12:36:48 12:38:46 12:46:38 12:48:36
13:26:48 13:28:46 13:46:28 13:48:26
14:26:38 14:28:36 14:36:28 14:38:26
16:23:48 16:24:38 16:28:34 16:28:43
16:32:48 16:34:28 16:38:24 16:38:42
16:42:38 16:43:28 16:48:23 16:48:32
18:23:46 18:24:36 18:26:34 18:26:43
18:32:46 18:34:26 18:36:24 18:36:42
18:42:36 18:43:26 18:46:23 18:46:32
21:36:48 21:38:46 21:46:38 21:48:36
23:16:48 23:48:16
इसलिए हम क्रमशः पहले / अंतिम होने के नाते 12:36:48
या तो 23:48:16
इस मामले में उत्पादन करेंगे ।
चुनौती नियम:
- यह बताएं कि आप अपने उत्तर में पहले या अंतिम वैध समय का उत्पादन करते हैं या नहीं।
- I / O लचीला है। इनपुट छह अलग पूर्णांक हो सकते हैं; छह अंकों से युक्त एक स्ट्रिंग; एक पूर्णांक सूची / सरणी; एक एकल (संभवतः अष्टाधारी) संख्या; आदि आउटपुट अंकों की सही क्रमबद्ध सूची / सरणी हो सकते हैं; प्रारूप
HH:mm:ss
/HHmmss
/ में एक स्ट्रिंगHH mm ss
; हर अंक नई लाइन सीमांकक के साथ मुद्रित; आदि आपका फोन। - आपको किसी भी क्रम में अंकों को लेने की अनुमति है, इसलिए वे पहले से ही सबसे कम से उच्चतम या इसके विपरीत क्रमबद्ध हो सकते हैं।
- यदि दिए गए अंकों (यानी
2,5,5,5,5,5
) के साथ कोई वैध समय नहीं बनाया जा सकता है , तो किसी भी तरह से स्पष्ट करें जो आप चाहते हैं। लौट सकते हैंnull
/false
;"Not possible"
; एक त्रुटि के साथ दुर्घटना; आदि (आप एक अमान्य समय जैसे55:55:52
, या कोई अन्य मान्य समय आउटपुट नहीं कर सकते हैं00:00:00
।) कृपया बताएं कि यह उन इनपुटों को कैसे संभालता है जिनके लिए कोई वैध समय नहीं बनाया जा सकता है। - आपको हर संभव वैध समय में आउटपुट की अनुमति नहीं है। केवल सबसे पहले / नवीनतम को आउटपुट / लौटाया जाना चाहिए।
24
घंटे (यानी24:00:00
) के लिए, या60
मिनट / सेकंड के लिए (यानी00:60:60
) मान्य नहीं हैं। रेंज[00-23]
घंटे और[00-59]
मिनट और सेकंड के लिए हैं।
सामान्य नियम:
- यह कोड-गोल्फ है , इसलिए बाइट्स जीत में सबसे छोटा जवाब है।
कोड-गोल्फ भाषाओं को गैर-कोडगॉल्फिंग भाषाओं के साथ उत्तर पोस्ट करने से हतोत्साहित न करें। 'किसी भी' प्रोग्रामिंग भाषा के लिए यथासंभव संक्षिप्त उत्तर के साथ आने का प्रयास करें। - मानक नियम आपके उत्तर के लिए लागू होते हैं , इसलिए आपको उचित पैरामीटर और रिटर्न-टाइप, पूर्ण कार्यक्रमों के साथ STDIN / STDOUT, फ़ंक्शन / विधि का उपयोग करने की अनुमति दी जाती है। तुम्हारा कॉल।
- डिफ़ॉल्ट लूपोल्स निषिद्ध हैं।
- यदि संभव हो, तो कृपया अपने कोड के लिए एक परीक्षण के साथ एक लिंक जोड़ें।
- इसके अलावा, यदि आवश्यक हो तो एक स्पष्टीकरण जोड़ें।
परीक्षण के मामलों:
Input: Earliest output: Latest output:
1,2,3,4,6,8 12:36:48 23:48:16
2,5,5,5,5,5 None possible None possible
0,0,0,1,1,1 00:01:11 11:10:00
1,1,2,2,3,3 11:22:33 23:32:11
9,9,9,9,9,9 None possible None possible
2,3,5,5,9,9 23:59:59 23:59:59
1,2,3,4,5,6 12:34:56 23:56:41
0,0,0,0,0,0 00:00:00 00:00:00
1,5,5,8,8,8 18:58:58 18:58:58
1,5,5,5,8,8 15:58:58 18:58:55
1,1,1,8,8,8 18:18:18 18:18:18
06:08:60
मान्य होगा, यह देखते हुए कि उस मिनट के दौरान एक लीप दूसरा हुआ है?
60
मिनट और सेकंड के लिए मान्य नहीं है। रंग हैं [00-23]
, [00-59]
और [00-59]
। चुनौती में इसे स्पष्ट करेंगे।
23:48:16
उदाहरण के लिए एक वैध आउटपुट नहीं है?