इनपुट:
पूर्णांक की एक सूची (जिसमें कभी शून्य नहीं होगा)
आउटपुट:
निम्न के आधार पर गणना के साथ समान आकार की एक सूची:
- यदि वर्तमान आइटम नकारात्मक है: इस आइटम से पहले सभी आइटम देखें, और यह गिनें कि उन अन्य नंबरों में कितनी बार अंक आए हैं
- यदि वर्तमान आइटम इसके बजाय सकारात्मक है: इस आइटम के बाद सभी आइटम देखें, और गिनें कि उन अन्य नंबरों में कितनी बार अंक हुआ है
एक ट्विस्ट है: यदि सूची का आकार यहां तक कि हम केवल हर संख्या को एक बार गिनते हैं (भले ही यह कई अंकों से मेल खाती हो), और यदि आकार विषम है तो हम वर्तमान आइटम के प्रत्येक अंक के लिए संख्याओं के हर अंक की गणना करते हैं (डुप्लिकेट अंकों को कई बार गिना जाता है)।
आइए इसे थोड़ा स्पष्ट करने के लिए कुछ उदाहरण दें:
सूची के साथ उदाहरण:
Input: [4, 10, 42, -10, -942, 8374, 728, -200]
Output: [3, 2, 4, 1, 2, 1, 1, 5 ]
सूची का आकार सम है , इसलिए हम केवल प्रत्येक संख्या को एक बार गिनते हैं।
4
: यह सकारात्मक है, इसलिए हम आगे देखते हैं। तीन अंकों युक्त संख्या नहीं है4
(42
,-942
,8374
)। तो हम एक के साथ शुरू करते हैं3
।10
: यह सकारात्मक है, इसलिए हम आगे देखते हैं। अंक1
और / या0
(-10
,-200
) युक्त दो संख्याएँ हैं । तो दूसरा आउटपुट है2
।42
: फिर से सकारात्मक, तो आगे। चार या तो अंकों युक्त संख्या नहीं है4
और / या2
(-942
,8374
,728
,-200
)। तो तीसरा आउटपुट है4
।-10
: इस बार यह नकारात्मक है, इसलिए हम पीछे की ओर देखते हैं। अंक1
और / या0
(हम ऋण चिह्न को अनदेखा करते हैं) (10
) वाले केवल एक संख्या है । तो चौथा आउटपुट है1
।- आदि।
विषम सूची के साथ उदाहरण:
Input: [382, -82, -8, 381, 228, 28, 100, -28, -2]
Output: [13, 2, 2, 4, 8, 3, 0, 11, 6 ]
सूची का आकार विषम है , इसलिए हम प्रत्येक अंक की गणना करते हैं।
382
: यह सकारात्मक है, इसलिए हम आगे देखते हैं।3
अन्य संख्याओं में एक है (381
), अन्य संख्याओं में छह8
(-82, -8, 381, 228, 28, -28
), और2
अन्य संख्याओं में छह है (-82, 228, 28, -28, 2
)। तो हम एक के साथ शुरू करते हैं13
।-82
: यह नकारात्मक है, इसलिए पीछे है।3
अन्य संख्या में एक है (382
), और8
दूसरी संख्या में (382
)। तो दूसरा आउटपुट है2
।- ...
228
: यह सकारात्मक है, इसलिए आगे है। वहाँ तीन हैं2
'अन्य नंबरों (में है28
,-28
,-2
), और तीन अन्य2
की, और दो8
' अन्य संख्या में है (28
,-28
)। तो यह आउटपुट है8
।- आदि।
चुनौती नियम:
- आप मान सकते हैं कि इनपुट में कभी भी
0
आइटम नहीं होगा , क्योंकि यह न तो सकारात्मक है और न ही नकारात्मक। - आप मान सकते हैं कि इनपुट-सूची में हमेशा कम से कम दो आइटम होंगे।
- I / O लचीला है। इनपुट / आउटपुट पूर्णांक, सीमांकित स्ट्रिंग, अंक / चरित्र-मैट्रिक्स, आदि की सरणी / सूची हो सकती है।
- यदि सूची में पहला नंबर एक ऋणात्मक संख्या है, या सूची में अंतिम संख्या एक सकारात्मक संख्या है, तो परिणामी सूची में यह 0 होगा।
- विषम सूचियों के साथ, कई बार एक ही अंक वाले संख्याओं को कई बार गिना जाता है, जैसे
228
ऊपर दिए गए विषम उदाहरण में8
(3 + 2) के बजाय5
(3 + 2)।
सामान्य नियम:
- यह कोड-गोल्फ है , इसलिए बाइट्स जीत में सबसे छोटा जवाब है।
कोड-गोल्फ भाषाओं को गैर-कोडगॉल्फिंग भाषाओं के साथ उत्तर पोस्ट करने से हतोत्साहित न करें। 'किसी भी' प्रोग्रामिंग भाषा के लिए यथासंभव संक्षिप्त उत्तर के साथ आने का प्रयास करें। - मानक नियम आपके उत्तर के लिए लागू होते हैं , इसलिए आपको उचित पैरामीटर और रिटर्न-टाइप, पूर्ण कार्यक्रमों के साथ STDIN / STDOUT, फ़ंक्शन / विधि का उपयोग करने की अनुमति है। तुम्हारा कॉल।
- डिफ़ॉल्ट लूपोल्स वर्जित हैं।
- यदि संभव हो, तो कृपया अपने कोड के लिए एक परीक्षण के साथ एक लिंक जोड़ें।
- इसके अलावा, यदि आवश्यक हो तो एक स्पष्टीकरण जोड़ें।
परीक्षण के मामलों:
Input: [4, 10, 42, -10, -942, 8374, 728, -200]
Output: [3, 2, 4, 1, 2, 1, 1, 5 ]
Input: [382, -82, -8, 381, 228, 28, 100, -28, -2]
Output: [13, 2, 2, 4, 8, 3, 0, 11, 6 ]
Input: [10, -11, 12, -13, 14, -15, 16, -17, 18, -19]
Output: [9, 1, 7, 3, 5, 5, 3, 7, 1, 9 ]
Input: [10, -11, 12, -13, 14, -15, 16, -17, 18, -19, 20]
Output: [11, 2, 8, 4, 5, 6, 3, 8, 1, 10, 0 ]
Input: [88, 492, -938, 2747, 828, 84710, -29, -90, -37791]
Output: [8, 9, 3, 9, 3, 4, 5, 4, 12 ]
Input: [-1, 11, 11, 1]
Output: [0, 2, 1, 0]
Input: [1, 11, 11, -1]
Output: [3, 2, 1, 3 ]
Input: [-1, 11, 1]
Output: [0, 2, 0]
Input: [1, 11, -1]
Output: [3, 2, 3 ]
δ¢
, कभी नहीं देखा डबल-वेक्टर अच्छी तरह से इस्तेमाल किया, अच्छा एक।