/// में गोल्फ के लिए युक्तियाँ


12

/// में गोल्फ के लिए आपके पास क्या सामान्य सुझाव हैं ? मैं उन विचारों की तलाश कर रहा हूं, जिन्हें कोड-गोल्फ समस्याओं पर लागू किया जा सकता है और जो कम से कम कुछ हद तक /// के लिए विशिष्ट हैं (उदाहरण के लिए "अनावश्यक व्हाट्सएप को हटाएं" एक उत्तर नहीं है)। Itflabtijtslwi और लाइन्स के लिए सुझाव विषय पर और यहाँ भी मान्य हैं।

कृपया प्रति उत्तर एक टिप पोस्ट करें।

जवाबों:


5

//एक प्रतिस्थापन के रूप में उपयोग करें

जब आप प्रतिस्थापन का एक गुच्छा परिभाषित करते हैं, उदाहरण के लिए:

/a/b//c/d//e/f//g/h//i/j//k/l//m/n//o/p//q/r//s/t//u/v//w/x//y/z/

(65 बाइट्स)। आप //एक प्रतिस्थापन के रूप में उपयोग कर सकते हैं :

/~/\/\///a/b~c/d~e/f~g/h~i/j~k/l~m/n~o/p~q/r~s/t~u/v~w/x~y/z/

(61 बाइट्स)।


4

अपूर्ण /// ब्लॉक मुद्रित नहीं हैं

ध्यान दें कि कोड की यह पंक्ति

/Stack/Overflow//x/\//Stack/ignore/DoItyignore

केवल प्रिंट्स Overflow- इसके /ignoreबाद का हिस्सा आउटपुट में शामिल नहीं है, क्योंकि ///केवल इसके तीसरे स्लैश-भाग में चीजों को प्रिंट करता है।

अधूरे ब्लॉक को ऑनलाइन आज़माएं!

हालांकि यह अभी भी उत्तरदाता द्वारा माना जाता है: अगर हम वहां स्लैश इंजेक्ट करने के लिए थे, तो चीजें बदल जाती हैं:

/Stack/Overflow//x/\//Stack/ignore/doitxignore

ऑनलाइन कोशिश करो!

यहाँ आउटपुट है Overflowdoit, क्योंकि इसे मान्य सिंटैक्स के xसाथ बदल /दिया गया है।


4

जब एक आधार पर विस्तार और मध्यवर्ती परिणाम मुद्रण, भविष्य में पिछले पुनरावृत्तियों को शामिल करें

यह एक सा लग रहा था। वास्तविक उत्तर का उपयोग करते हुए मेरे द्वारा बताए गए बेहतर तरीकों का वर्णन किया जा सकता है। इस चुनौती के लिए इस विशिष्ट आउटपुट की आवश्यकता है:

Steve Ballmer still does not know.
Steve Ballmer still does not know what he did.
Steve Ballmer still does not know what he did wrong.
Steve Ballmer still does not know what he did wrong with mobile.

एक भोला समाधान हो सकता है:

/1/Steve Ballmer still does not know//2/ what he did//3/ wrong//4/ with mobile./1.
12.
123.
1234

सूचना कैसे पैटर्न 1, 12, 123... दोहराया है? ठीक है, जब आप ऐसा नहीं करते हैं:

/1/Steve Ballmer still does not know//2/1 what he did//3/2 wrong//4/3 with mobile/1.
2.
3.
4.

एक बार फिर, धन्यवाद मार्टिन एंडर को इस ओर इशारा करने के लिए!


2

धार मामलों को संभालने के लिए कोड के अंत में एक चरित्र का उपयोग करें

जब आपके पास ///कोड का एक टुकड़ा होता है जो सभी लेकिन एक मामले को संभालता है, तो आप किनारे के मामले को संभालने के लिए कोड के किनारे पर एक चरित्र का उपयोग कर सकते हैं।

उदाहरण: Unary दो संख्याओं को एक साथ जोड़ते हैं जब तक कि दूसरा नंबर 7 न हो, जिस स्थिति में सिर्फ पहला नंबर आउटपुट होता है।

कोड जो सभी को संभालता है, लेकिन "दूसरा नंबर 7 है" मामला:

/+//<INPUT 1>+<INPUT 2>

*कोड के अंत में जोड़कर , हम +0000000*कुछ के साथ प्रतिस्थापित करके किनारे के मामले को संभाल सकते हैं (यह सुनिश्चित करना आवश्यक +है कि संख्या 7 से अधिक नहीं है)। इसे साफ करने के लिए इनपुट से पहले अंत में कोड शामिल करना सुनिश्चित करें।

/+0000000*///+///*//<INPUT 1>+<INPUT 2>*

इसे ऑनलाइन आज़माएं!

एक "वास्तविक दुनिया" उदाहरण के लिए, मैंने कुछ "जिमी" समस्याओं पर इस ट्रिक का उपयोग किया:

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.