आईएसओ 8601 मानक तिथि प्रारूप के बारे में अपने एक्सकेडीएन में रान्डेल ने उत्सुक वैकल्पिक संकेतन में झपकी ली:
बड़ी संख्या वे सभी अंक हैं जो वर्तमान तिथि में अपने सामान्य क्रम में दिखाई देते हैं, और छोटी संख्याएं उस अंक की घटनाओं के 1-आधारित सूचक हैं। तो उपरोक्त उदाहरण का प्रतिनिधित्व करता है 2013-02-27।
आइए ऐसी तारीख के लिए ASCII प्रतिनिधित्व को परिभाषित करें। पहली पंक्ति में 1 से 4 के सूचकांक होते हैं। दूसरी पंक्ति में "बड़े" अंक होते हैं। तीसरी पंक्ति में सूचकांकों 5 से 8 हैं। यदि एकल स्लॉट में कई सूचकांक हैं, तो वे एक-दूसरे के बगल में सबसे छोटे से सबसे बड़े तक सूचीबद्ध हैं। यदि mएक ही स्लॉट (यानी एक ही पंक्ति में) पर अधिकांश सूचकांकों में हैं, तो प्रत्येक कॉलम में m+1वर्ण चौड़े और बाएं-संरेखित होने चाहिए :
2 3 1 4
0 1 2 3 7
5 67 8
विपरीत रूपांतरण के लिए साथी चुनौती भी देखें ।
चुनौती
Xkcd- संकेतन में एक तिथि को देखते हुए, संबंधित ISO 8601 दिनांक ( YYYY-MM-DD) का उत्पादन करें ।
आप STDIN (या निकटतम विकल्प), कमांड-लाइन तर्क या फ़ंक्शन तर्क के माध्यम से इनपुट ले रहे हैं और STDOUT (या निकटतम विकल्प), फ़ंक्शन रिटर्न मान या फ़ंक्शन (आउट) पैरामीटर के माध्यम से परिणाम लिख सकते हैं।
आप मान सकते हैं कि इनपुट वर्षों 0000और 9999, के बीच किसी भी मान्य तिथि है ।
इनपुट में कोई अग्रणी स्थान नहीं होगा, लेकिन आप मान सकते हैं कि लाइनें एक आयत के लिए रिक्त स्थान के साथ गद्देदार हैं, जिसमें रिक्त स्थान के अधिकांश एक अनुगामी स्तंभ हैं।
मानक कोड-गोल्फ नियम लागू होते हैं।
परीक्षण के मामलों
2 3 1 4
0 1 2 3 7
5 67 8
2013-02-27
2 3 1 4
0 1 2 4 5
5 67 8
2015-12-24
1234
1 2
5678
2222-11-11
1 3 24
0 1 2 7 8
57 6 8
1878-02-08
2 4 1 3
0 1 2 6
5 678
2061-02-22
1 4 2 3
0 1 2 3 4 5 6 8
6 5 7 8
3564-10-28
1234
1
5678
1111-11-11
1 2 3 4
0 1 2 3
8 5 6 7
0123-12-30
1ऊपर है 2, इसलिए पहला अंक है 2। 2ऊपर है 0, इसलिए दूसरा अंक है 0। 3ऊपर है 1, 4ऊपर है 3, इसलिए हमें 2013पहले चार अंक मिलते हैं । अब 5नीचे है 0, इसलिए पांचवा अंक है 0, 6और 7दोनों नीचे हैं 2, इसलिए वे दोनों अंक हैं 2। और अंत में, 8नीचे है 7, इसलिए अंतिम अंक है 8, और हम समाप्त करते हैं 2013-02-27। (हाइफ़न xkcd संकेतन में निहित हैं क्योंकि हम जानते हैं कि वे किस स्थिति में दिखाई देते हैं।)
