यहाँ एक स्ट्रिंग से दूसरे में बैकस्पेस और री-टाइप करने का तरीका बताया गया है :
- पहली स्ट्रिंग से शुरू करें।
- अंत में वर्ण निकालें जब तक कि परिणाम दूसरी स्ट्रिंग का उपसर्ग न हो। (इसमें 0 कदम हो सकते हैं।)
- अंत में वर्ण जोड़ें जब तक कि परिणाम दूसरी स्ट्रिंग के बराबर न हो जाए। (यह 0 कदम भी कर सकता है।)
उदाहरण के लिए, से पथ fooabc
को fooxyz
लगता है कि:
fooabc
fooab
fooa
foo
foox
fooxy
fooxyz
कार्य
शब्दों की एक सूची को देखते हुए, एक प्रोग्राम लिखें जो बैकस्पेस-एंड-रिट को खाली स्ट्रिंग से अपना रास्ता देता है, उत्तराधिकार में सूची के सभी शब्दों को, खाली स्ट्रिंग पर वापस। आउटपुट सभी मध्यवर्ती स्ट्रिंग्स।
उदाहरण के लिए, इनपुट सूची को देखते हुए ["abc", "abd", "aefg", "h"]
, आउटपुट होना चाहिए:
a
ab
abc
ab
abd
ab
a
ae
aef
aefg
aef
ae
a
h
नियम
आप तार की सूची, या पसंद के कुछ सीमांकक के साथ एक एकल स्ट्रिंग वापस या प्रिंट कर सकते हैं। आप वैकल्पिक रूप से प्रारंभिक और अंतिम खाली तार शामिल कर सकते हैं। इनपुट में कम से कम एक शब्द शामिल करने की गारंटी है, और प्रत्येक शब्द में केवल लोअरकेस ASCII अक्षरों ( a
- z
) को शामिल करने की गारंटी है । संपादित करें: इनपुट में लगातार तार एक दूसरे के बराबर नहीं होने की गारंटी है।
यह कोड-गोल्फ है ; बाइट्स में सबसे छोटा कोड जीतता है।
पायथन 3 में एक संदर्भ कार्यान्वयन: इसे ऑनलाइन आज़माएं!
["abc","abc"]
?
a,abc,abcde,abc,a,abc,abcde