परिचय:
ट्विटर और Instagram और अन्य लोगों की तरह, मैं नंबर की तरह प्रदर्शित करने के लिए करना चाहता था 1.2Kऔर 3.8 Mबजाय 1,222या 3,823,456।
लेकिन वह सब नहीं है! जैसा कि हम सभी जानते हैं, कुछ ऐसे मनुष्य भी हो सकते हैं जो निस्संदेह इन संक्षिप्तीकरणों को पसंद नहीं करेंगे और उन्हें उलटने का प्रयास करेंगे। तो, 1.2kबन जाएगा 1,200और 3.8 Mबन जाएगा 3,800,000।
काम:
- आपका कार्य एक प्रोग्राम या एक फ़ंक्शन लिखना है जो संख्याओं की सूची ( जो स्ट्रिंग्स के रूप में दिए गए हैं ) को उनके संक्षिप्त जोड़े और इसके विपरीत में परिवर्तित करता है।
उदाहरण के लिए, यदि इनपुट सूची (या कोई भी STDIN) थी ['1.4k', '1,234,567', '7.99M'], तो आपको आउटपुट चाहिए:
['1,400', '1.2M', '7,990,000']
आप संक्षिप्तीकरण के लिए अगले स्कीमा का अनुसरण कर सकते हैं:
- 10 3 -> एक किलो -> के
- 10 6 -> एक मिलियन -> एम
- 10 9 -> एक अरब -> बी
आपका कोड सभी लोअरकेस, सभी अपरकेस, मिश्रित मामले या इनपुट के लिए अपरिभाषित मामला मान सकता है और आउटपुट के लिए इनमें से किसी का भी उपयोग कर सकता है, लेकिन सुसंगत होना चाहिए।
नियम और प्रतिबंध:
- आप एक प्रोग्राम या फ़ंक्शन लिख सकते हैं, इनपुट
STDIN(या निकटतम विकल्प), कमांड-लाइन तर्क या फ़ंक्शन तर्क और परिणामSTDOUT(या निकटतम वैकल्पिक), फ़ंक्शन रिटर्न मान या फ़ंक्शन (आउट) पैरामीटर के माध्यम से आउटपुट कर सकते हैं। - इनपुट किसी भी सुविधाजनक सूची या स्ट्रिंग प्रारूप में हो सकता है। आप मान सकते हैं कि प्रत्येक से कम हैं और सूची में कम से कम एक तत्व है।
ai231 - प्रत्येक संक्षिप्त संख्या में शामिल होंगे केवल एक ही
.है, जबकि एक सामान्य संख्या में शामिल होंगे कई के रूप में,आवश्यक के रूप में (आप मान सकते हैं कि इस संख्या में कोई परिवर्तन नहीं किया जाएगा)। - आप एक नंबर दर्ज नहीं कर सकते
'123456', बल्कि123,456 - मानक कोड-गोल्फ नियम लागू होते हैं।
परीक्षण के मामलों:
Input: ['1.5M', '77.6k', '123,456,789'] Output: ['1,500,000', '77,600', '123.4M']
Input: ['3,000,000,000', '581k', '2b'] Output: ['3B', '581,000', '2,000,000,000']
Input: ['0.1k'] Output: ['100']
Input: ['888', '33'] Output: ['0.888k', '0.033k']
स्पष्टीकरण:
- संक्षिप्त नाम आउटपुट में दशमलव बिंदु के बाद संख्या <1000 के लिए आपको सही परिणाम प्राप्त करने के लिए आवश्यक के रूप में कई अंक होने चाहिए। (जैसे:
2-> बन जाएगा0.002k) - इसका मतलब है कि 3 दशमलव सबसे अधिक है ; संख्याओं के लिए> 1000 आपके पास अधिकतम 1 दशमलव हो सकता है । - संक्षिप्त नाम कम या ऊपरी दोनों मामलों में हो सकता है
- मैंने टिप्पणियों में सुझाए अनुसार अंतर्निर्मित प्रतिबंध को हटा दिया
बाइट्स में सबसे छोटा कोड जीतता है!
'123,456,789' -> '123.4M'? इसके अलावा, यह स्पष्ट नहीं करता है कि कितने दशमलव का उपयोग करना है। निश्चित रूप से 1000 के तहत कुछ भी संक्षिप्त करने की आवश्यकता नहीं होनी चाहिए।
["k", "M", "G"]। क्या करता है "जबकि एक सामान्य संख्या में आवश्यक के रूप में कई होंगे, " मेरे देश में, यह किसी भी उपयोग करने के लिए एक गलती होगी।