चुनौती
कटिंग नियम और एक अन्य स्ट्रिंग का वर्णन करने वाले एक स्ट्रिंग को देखते हुए, पहले स्ट्रिंग द्वारा वर्णित नियम का उपयोग करके दूसरे स्ट्रिंग में से भागों को काटें।
दोनों तार में अक्षर होंगे a-z
या A-Z
, जो भी आप चुनते हैं (उन्हें उसी तरह से प्रतिनिधित्व नहीं करना है)। जिस तरह से दूसरी स्ट्रिंग को संशोधित किया जाना है वह नीचे वर्णित है:
कलन विधि
पहले स्ट्रिंग को लें और गैर-आसन्न (बढ़ते) अक्षरों के बीच अंतराल में भरने की कल्पना करें =
; उदाहरण के लिए, abcfg
=> abc==fg
। फिर, दो तारों को पंक्तिबद्ध करें और पहले अक्षर से सभी अक्षर लौटाएं जो समान चिह्न से ऊपर नहीं हैं। उदाहरण के लिए, दिए गए abcfg
और qrstuvw
इनपुट के रूप में:
qrstuvw - Modify
abc==fg - Modifier
qrs--vw -> qrsvw
यदि संशोधक समान संकेतों के साथ भरने के बाद छोटा होता है, तो दूसरे स्ट्रिंग के सभी अनुगामी पात्रों को शामिल किया जाना चाहिए। यदि संशोधक लंबा है, तो अनुगामी वर्णों को अनदेखा किया जाता है।
संशोधक को सॉर्ट करने की गारंटी नहीं है।
परीक्षण के मामलों
abcfg, qrstuvw -> qrsvw
abqrs, qwertyuiopasdfghjklzxcvbnm -> qwjklzxcvbnm
za, qr -> qr
azazaz, qwertyuioplkjhgfdsazxcvbnmnbvcxzasdfghjklpoiuytrewq -> qmn
संदर्भ कार्यान्वयन (परीक्षण मामलों को उत्पन्न करने के लिए उपयोग किया जाता है) -> TIO
नियम
- स्टैंडर्ड लोफॉल्स लागू होते हैं
- आप इनपुट को दो स्ट्रिंग्स के रूप में ले सकते हैं, पात्रों की दो सूचियाँ, वर्णों का एक मैट्रिक्स, आदि (कोई भी अन्य उचित प्रारूप स्वीकार्य है)
- आप एक स्ट्रिंग या पात्रों की सूची (या स्ट्रिंग के लिए कुछ अन्य मानक प्रारूप) के रूप में आउटपुट कर सकते हैं
- यह कोड-गोल्फ है , इसलिए प्रत्येक भाषा में बाइट्स में सबसे छोटा उत्तर अपनी भाषा के लिए विजेता घोषित किया जाता है। कोई उत्तर स्वीकार नहीं किया जाएगा।
- या तो स्ट्रिंग खाली हो सकती है।
हैप्पी गोल्फिंग!
केविन क्रूज़सेन की हालिया दो चुनौतियों से प्रेरित, "वहां, मैंने इसे ( टेप / रस्सी के साथ ) तय किया "
There, I blew it up (with a segfault)