एक इनपुट स्ट्रिंग, उत्पादन है कि सभी स्वरों के साथ स्ट्रिंग को देखते हुए a
, e
, i
, o
और u
यादृच्छिक पर एक दूसरे के बीच बदली।
उदाहरण के लिए, स्ट्रिंग में this is a test
, 4 स्वर हैं [i, i, a, e]
:। [a, i, e, i]
इसलिए उन स्वरों का एक मान्य फेरबदल इसलिए आउटपुट दे सकता है thas is e tist
।
फेरबदल के बारे में
यदि हम समान स्वरों को विशिष्ट मानते हैं तो सभी फेरबदल समान रूप से होने की संभावना होगी । उपरोक्त उदाहरण के लिए, वे 24 फेरबदल संभव हैं:
[i 1 , i 2 , a, e] [i 1 , i 2 , e, a] [i 1 , a, i 2 , e] [i 1 , a, e, i 2 ] [i 1 , e, i 2 , a] [i 1 , e, a, i 2 ] [i 2 , i 1 , a, e] [i 2 , i 1 , e, a] [i 2 , a, i 1 , e] [i 2 , a, e, i 1 ] [i 2 , e, i 1 , a] [i 2 , e, a, i 1 ] [ए, आई १ , आई २ , ई] [ए, आई १ , ई, आई २ ] [ए, आई २ , आई १ , ई] [ए, आई २ , ई, आई १ ] [ए, ई, आई १ , आई २ ] [ए, ई, आई २ , आई १ ] [ई, आई १ , आई २ , ए] [ई, आई १ , ए, आई २ ] [ई, आई २ , आई १ , ए] [ई, आई २ , ए, आई १ ] [ई, ए, आई १ , आई २ ] [ई, ए, आई २ , आई १ ]
प्रत्येक को समान रूप से संभावना होनी चाहिए।
आप पूरे स्ट्रिंग के यादृच्छिक फेरबदल की कोशिश नहीं कर सकते जब तक कि सभी स्वर सही जगह पर न हों। संक्षेप में, यदि इनपुट स्थिर है तो आपके कोड का चलने का समय स्थिर रहेगा।
इनपुट और आउटपुट
आप मान सकते हैं कि इनपुट के सभी अक्षर लोअरकेस या अपरकेस होंगे। आप मिश्रित आवरण का भी समर्थन कर सकते हैं, हालांकि यह आपको कोई बोनस नहीं देगा।
इनपुट में हमेशा मुद्रण योग्य ASCII वर्ण शामिल होंगे। सभी वर्ण जो इनपुट में हैं वे आउटपुट में होंगे, केवल स्वरों को चारों ओर फेर दिया जाना चाहिए और कुछ नहीं।
इनपुट खाली हो सकता है। इस बात की कोई गारंटी नहीं है कि इनपुट में कम से कम एक स्वर या कम से कम एक गैर-स्वर होगा।
आप
STDIN
फ़ंक्शन पैरामीटर या कुछ भी समान के रूप में इनपुट ले सकते हैं ।आप आउटपुट को प्रिंट कर सकते हैं
STDOUT
, इसे किसी फ़ंक्शन या किसी समान से वापस कर सकते हैं।
परीक्षण के मामलों
पहली पंक्ति दी गई इनपुट है। दूसरी पंक्ति संभावित आउटपुट में से एक है।
<empty string>
<empty string>
a
a
cwm
cwm
the quick brown fox jumps over the lazy dog.
tho qeuck brewn fax jumps ovir the lozy dog.
abcdefghijklmnopqrstuvwxyz
abcdefghujklmnipqrstovwxyz
programming puzzles & code golf
pregromming pezzlos & coda gulf
fatalize
fitaleza
martin ender
mirten ander
स्कोरिंग
यह कोड-गोल्फ , सा थो शर्टिस्ट एनस्वाइर एन बाइट्स वॉन है ।
y
एक स्वर को भी मानूंगा , लेकिन अंतिम चुनौती जहां मैंने कहा y
कि एक स्वर था मुझे पूछा गया कि मैंने इसे क्यों चुना!
y
स्वर के रूप में आपकी कमी ..;)