प्रोग्रामिंग बहुत कठोर है। आप "केला गणना को आउटपुट" करने के लिए एक कार्यक्रम नहीं बता सकते हैं, आपको इसे बताना होगा print(bananas)
।
लेकिन जब आप ऐसा करते हैं, तो आप एक समस्या के साथ समाप्त होते हैं: आप नहीं जानते कि आपके पास पहले से कितने केले हैं, इसलिए आप नहीं जानते कि बहुवचन का उपयोग करना है या नहीं।
कभी-कभी, प्रोग्रामर आलसी तरीके से जाते हैं। जांच के बजाय, वे सिर्फ प्रिंट करते हैं there are X banana(s)
।
लेकिन यह बदसूरत है, इसलिए हमें इसे ठीक करने के लिए एक कार्यक्रम की आवश्यकता है।
विधियों)
एक स्ट्रिंग में अस्पष्ट प्लुरल निकालने के लिए, निम्नलिखित चरणों का पालन करें:
शब्दों की सूची में रिक्त स्थान पर स्ट्रिंग विभाजित करें।
समाप्त होने वाले प्रत्येक शब्द के
(s)
लिए, निम्नलिखित करें:- पूर्ववर्ती शब्द है
a
,an
,1
याone
, हटाने(s)
शब्द के अंत में। - अन्यथा, अगर शब्द स्ट्रिंग में पहला शब्द है या पूर्ववर्ती शब्द नहीं है
a
,an
,1
याone
, की जगह(s)
के साथ शब्द के अंत मेंs
।
- पूर्ववर्ती शब्द है
मूल व्हाट्सएप को संरक्षित करते हुए, एक स्ट्रिंग में एक साथ वापस शब्दों की सूची में शामिल हों।
उदाहरण)
चलो एक तार ले लो there's a banana(s) and three apple(s)
।
सबसे पहले, हम स्ट्रिंग को शब्दों की एक सूची में विभाजित करते हैं: ["there's", "a", "banana(s)", "and", "three", "apple(s)"]
दूसरे चरण के लिए, हम दो शब्दों को समाप्त करते हैं (s)
: banana(s)
और apple(s)
।
पहले banana(s)
का शब्द है a
, इसलिए हम (s)
इसे बनाते हैं, हटाते हैं banana
। पहले apple(s)
का शब्द है three
, इसलिए हम बदल जाते (s)
हैं s
, इस प्रकार यह बन जाता है apples
।
अब हमारे पास है ["there's", "a", "banana", "and", "three", "apples"]
। एक साथ वापस सूची में शामिल हो, हम प्राप्त करते हैं there's a banana and three apples
। यह हमारा अंतिम परिणाम है।
चुनौतियाँ)
एक प्रोग्राम या फ़ंक्शन बनाएँ जो किसी भी उचित प्रारूप में एक अस्पष्ट स्ट्रिंग लेता है और उस स्ट्रिंग के अन-एम्बिग्रेटेड संस्करण को वापस करता है।
आप मान सकते हैं कि स्ट्रिंग में कोई नया लिंक, टैब या गाड़ी का रिटर्न नहीं है।
मैं यह okay then
बताना भूल गया कि चैलेंज पोस्ट करते समय स्पेस या स्पेस के समूहों (यानी दो स्पेस के साथ होना चाहिए ["okay", "then"]
या नहीं ["okay", "", "then"]
) को विभाजित करना है, इसलिए आप विभाजन के किसी भी रूप को मान सकते हैं।
परीक्षण के मामलों)
Input -> Output
there are two banana(s) and one leprechaun(s) -> there are two bananas and one leprechaun
there's a banana(s) and three apple(s) -> there's a banana and three apples
apple(s) -> apples
one apple(s) -> one apple
1 banana(s) -> 1 banana
banana -> banana
preserve original whitespace(s) -> preserve original whitespaces
11 banana(s) -> 11 bananas
an apple(s) -> an apple
this is a te(s)t -> this is a te(s)t
I am a (s)tranger(s) -> I am a (s)tranger
स्कोरिंग
जैसा कि यह कोड-गोल्फ है , कम से कम बाइट्स जीत के साथ प्रस्तुत करना!
apple(s)
टेस्ट केस की apples
जगह उपज मिलनी चाहिए? चुनौती में कहा गया है Otherwise, if the word is the first word in the string . . . replace the (s) at the end of the word with s.
कि मैं ध्यान देता हूं कि यह मामला apples
पहले तीन संशोधनों के लिए सैंडबॉक्स में आया लेकिन चौथे में बदल गया।
There's a single banana(s)
-> There's a single bananas
।