अजगर अभ्यास २


21

एक और अजगर अभ्यास के लिए समय। मैं यहां पेश करता हूं 8 समस्या बयान एक पायथ समाधान के साथ। ये समाधान एक पायथ शुरुआत द्वारा लिखे गए हैं। वह इन समाधानों के बारे में काफी खुश हैं, क्योंकि वे अपने पायथन जवाबों की तुलना में बहुत कम हैं। हालाँकि आपका काम उसे बेहतर दिखाना है। समतुल्य लेकिन छोटे कार्यक्रम बनाएं।

यह उन चालों और अनुकूलन के बारे में एक चुनौती है, जिनका उपयोग पायथ में गोल्फिंग करते समय किया जा सकता है। Pyth के गोल्फर इसमें शामिल कई चालों को पहचान सकते हैं, जो छोटे समाधानों की ओर ले जाती हैं। हालांकि कुछ समस्याओं के लिए कुछ असामान्य दृष्टिकोणों की आवश्यकता होगी जो शायद ही कभी उपयोग किए जाते हैं। कुछ ट्रिक्स मैंने वास्तव में कभी जंगली में नहीं देखी हैं। लेकिन किसी भी समाधान के लिए किसी कीड़े या अजीब व्यवहार की आवश्यकता नहीं होती है, जो कि अजगर के डिजाइनर (ओं) द्वारा जानबूझकर नहीं किया गया था। इस सवाल के पोस्टिंग के रूप में सभी उत्तर सबसे हाल के पायथ कमिट ( 2b1562b ) के लिए मान्य होने चाहिए । आप पायथ दुभाषिया का उपयोग कर सकते हैंपरीक्षण के लिए। यह अभी अप-टू-डेट है और मुझे पायथ में किसी बड़े बदलाव की उम्मीद नहीं है, जो इष्टतम समाधानों को अमान्य कर देगा या छोटे समाधानों को संभव बना देगा। ऑनलाइन दुभाषिया में नए चरित्र संदर्भ भी शामिल हैं। चूंकि यह बहुत नया है, आप पुराने डॉक्स का उपयोग भी कर सकते हैं , यदि कुछ गलत या गायब है तो।

लक्ष्य: संदर्भ समाधान कुल 81 बाइट्स। आपका लक्ष्य यह है कि जितना संभव हो सके उतना हरा दें। सबमिशन जो बाइट्स की सबसे छोटी कुल संख्या के साथ सभी 8 समस्याओं को हल करता है, जीतता है। टाईब्रेकर जमा करने की तारीख है।

बेशक केवल प्रस्तुतियाँ मान्य हैं, जिसमें सभी 8 समस्याओं के समाधान हैं। यदि आप एक (या अधिक) विशेष समस्या के स्कोर में सुधार नहीं कर सकते हैं, तो आप संदर्भ कार्यान्वयन का उपयोग कर सकते हैं।

आपके समाधानों को संदर्भ समाधानों के समान सटीक आउटपुट प्रिंट करना होगा। सिवाय एक वैकल्पिक अनुगामी न्यूलाइन के।

चूंकि यह एक पायथ प्रथा है, केवल भाषा में लिखे गए कार्यक्रमों को ही अनुमति दी जाती है।

उत्तर देना: कृपया अपने कुल स्कोर को छोड़कर, अपने पूरे उत्तर को खराब कर दें। यह इरादा है कि आप अपना स्वयं का सबमिट करने से पहले अन्य लोगों के उत्तरों को न देखें। आप> लगाकर स्पॉइलर बना सकते हैं! हर पंक्ति के सामने, जैसे:

>! Problem 1: V9m?>dNd0S9 (11 bytes)
>! Problem 2: VTN)VGN (7 bytes)
>! ...

मुझे आशा है कि मैंने बहुत कठिन या बहुत तुच्छ समस्याओं को नहीं चुना है। बहुत से प्रतिभागियों के लिए और सभी के लिए पायथ में कुछ नई अंतर्दृष्टि प्राप्त करने की आशा करना। हैप्पी गोल्फिंग!

समस्या 1:

निम्नलिखित 9x9 मैट्रिक्स बनाएं और इसे प्रिंट करें:

[1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 0, 3, 4, 5, 6, 7, 8, 9]
[0, 0, 0, 4, 5, 6, 7, 8, 9]
[0, 0, 0, 0, 5, 6, 7, 8, 9]
[0, 0, 0, 0, 0, 6, 7, 8, 9]
[0, 0, 0, 0, 0, 0, 7, 8, 9]
[0, 0, 0, 0, 0, 0, 0, 8, 9]
[0, 0, 0, 0, 0, 0, 0, 0, 9]

संदर्भ समाधान ( लिंक ):

V9m?>dNd0S9 (11 bytes)

समस्या 2:

सभी अंकों और सभी पत्रों को अलग-अलग लाइनों पर प्रिंट करें:

0
...
9
a
...
z

संदर्भ समाधान ( लिंक ):

VTN)VGN (7 bytes)

समस्या 3:

लेक्सिकोग्राफ़िक रूप से सबसे छोटा पैलिंड्रोम खोजें, जो कि लेक्सिकोग्राफ़िक रूप से बड़ा या एक इनपुट स्ट्रिंग से कम है जिसमें लोअरकेस अक्षर हैं और इनपुट स्ट्रिंग की तुलना में समान है।

a -> a
abc -> aca
adcb -> adda

संदर्भ समाधान ( लिंक ):

hf&gTzqT_T^Glz (14 bytes)

समस्या 4:

जांचें कि क्या कोई संख्या सीमा [0, इनपुट संख्या) में है। यह भी तैरने के लिए काम करना चाहिए।

4, 6 -> True
5.5, 6 -> True
6, 6 -> False
6, 6.1 -> True

संदर्भ समाधान ( लिंक ):

&gQ0<QE (7 bytes)

संदर्भ प्रारूप है to be tested value<newline>end value। हालाँकि आप एक अलग इनपुट प्रारूप चुन सकते हैं। महत्वपूर्ण केवल यह है, कि आप समस्या कथन को पूरा करें और सही परिणाम दें।

समस्या 5:

"\ D + [a-zA-Z] +" प्रारूप के इनपुट स्ट्रिंग को पार्स करें। ध्यान दें कि संख्या को वास्तव में एक संख्या होना चाहिए, न कि एक स्ट्रिंग जिसमें अंक हो।

'123Test' -> [123, 'Test']

संदर्भ समाधान ( लिंक ):

A.ggk\Az,sGH (12 bytes)

समस्या 6:

संख्याओं के योग की गणना करें, जो एक या कई अल्पविरामों द्वारा अलग किए गए हैं। आप मान सकते हैं कि स्ट्रिंग में कम से कम एक संख्या है।

11,2,,,3,5,,8 -> 29

संदर्भ समाधान ( लिंक ):

svM:z",+"3 (10 bytes)

समस्या 7:

इनपुट से पॉजिटिव पूर्णांक पढ़ें जब तक आपको नंबर नहीं मिलता। 0. सभी नंबरों का योग प्रिंट करें।

संदर्भ समाधान ( लिंक ):

WJE=+ZJ)Z (9 bytes)

समस्या 8:

मुख्य तिरछे (बाएं ऊपरी कोने से दाएं निचले कोने) को छोड़कर, एक वर्ग मैट्रिक्स के सभी तत्वों को जोड़ दें।

संदर्भ समाधान ( लिंक ):

-ssQs.e@bkQ (11 bytes)

मैं वास्तव में भाषा-विशिष्ट प्रश्नों के विचार को पसंद करता हूं (और मैंने इसे ऊपर उठाया है)। लेकिन मुझे लगा कि भाषा-विशेष के सवालों को पीपीसीजी में रखा गया था?
लुइस मेंडो

3
@LuisMendo मुझे लगता है कि भाषा-विशिष्ट quesitions केवल पर आधारित हैं, यदि प्रश्न के पीछे का कारण सीजेएम, पायथ, ... जैसी गोल्फ भाषाओं के खिलाफ एक सामान्य नापसंद है, और क्योंकि ओपी केवल कुछ भाषाओं को समझता है। यह यहाँ थोड़ा अलग है। यह प्रश्न मुख्य रूप से लोकप्रिय (पीपीसीजी पर) भाषा के कुछ अधिक छिपी हुई विशेषताओं को दिखाने के लिए बनाया गया है। एक तरह से यह ट्रिक्स के संग्रह की तरह है। यह हर भाषा के लिए अनुमति देने के लिए सार नहीं बनाता है। इस विषय के बारे में एक मेटा-पोस्ट यहां दिया गया है: लिंक
जकुबे

6 में, क्या अंक सकारात्मक एकल-अंक पूर्णांक हैं?
xnor

@xnor आप मान सकते हैं कि वे सकारात्मक हैं, लेकिन उनमें एक से अधिक अंक हो सकते हैं। मैं टेस्ट केस बदल दूंगा।
जेकुब

1
मैं इस प्रश्न को ऑफ-टॉपिक के रूप में बंद करने के लिए मतदान कर रहा हूं क्योंकि यह एक बहु-भाग चुनौती है जिसमें भागों के बीच कोई बातचीत नहीं है
pppery

जवाबों:


9

59 58 56 बाइट्स

समस्या 1:

j.tmLdS9Z (9 बाइट्स)

समस्या 2:

MTjG (5 बाइट्स) (पहला चरित्र एक नई पंक्ति है)

समस्या 3:

h.f_IZ1z (8 बाइट्स)

समस्या 4:

%IQE (4 निवाले)

समस्या 5:

,J.vz-zJ (8 बाइट्स)

समस्या 6:

srXz\,d7 (8 बाइट्स)

समस्या 7:

u+GE0 (5 बाइट्स)

समस्या 8:

ss.DR~hZQ (9 बाइट्स)


2

66 बाइट्स

1. 10 बाइट्स: V9+mZN}hN9
2. 6 बाइट्स: jUT)jG
3. 8 बाइट्स: h.f_IZ1z
4. (संदर्भ कार्यान्वयन) 7 बाइट्स: &gQ0<QE
5. 11 बाइट्स: ,sK-rzZG-zK
6. 7 बाइट्स: ssMcz\,
7. 8 बाइट्स: s<.Qx.QZ
8. 9 बाइट्स:ss.eXbkZQ


2

68 67 66 65 बाइट्स

कार्य 1

10 बाइट्स: V9m*d>dNS9

टास्क २

5 बाइट्स: \nMTjGजहां \nएक नई रेखा है

टास्क 3

9 बाइट्स: h.fqZ_Z1z

टास्क 4

5 बाइट्स: qQ%QE

टास्क 5

संदर्भ समाधान, 12 बाइट्स: A.ggk\Az,sGH

टास्क 6

7 बाइट्स: ssMcz\,

टास्क 7

8 बाइट्स: s<.Qx.Q0

टास्क 8

9 बाइट्स: ss.DVQUlQ


1

54 बाइट्स

यहाँ इच्छित उपाय हैं। कार्य 8 को छोड़कर सभी समाधान पाए गए।

1. j.tmLdS9Z (9 बाइट्स) बाएं नक्शा, पक्षांतरित और शून्य से भरने के लिए मानचित्र का उपयोग
2. \ nMTjG (5 बाइट्स) के लिए नक्शा उपयोग नई-पंक्तियों
3. h.f_IZ1z (8 बाइट्स) करें.एफ़ के साथ संभव तार उत्पन्न
4 ।% आईक्यूई (4 बाइट्स) एक यूसेकस पाया गया, जहां
इंवेरिएंट ऑपरेटर को 2 मापदंडों की आवश्यकता होती है 5. जेव्ज-जेडजे (8 बाइट्स) .v केवल एक स्ट्रिंग के पहले कथन का मूल्यांकन करता है और बाकी को अनदेखा करता है
6. ssncz \ (() 7 बाइट्स का "" = 0 =
u + GE0 (5 बाइट्स) तब तक कम हो जाता है जब तक कि यह एक संख्या
8 तक न पहुंच जाए । ss.DVQUQ (8 बाइट्स) वेक्टरकरण का उपयोग करके विकर्ण को हटा दें


अरे, मैं भूल गया था Uकिया था lसूचियों पर!
3

1
पिटाई पर अच्छा है अपनी भाषा में isaacg।
स्टेन स्ट्रम

1

 60 59  57 बाइट्स

1. 9 बाइट्स :j.tmRdS9Z


2. 6 बाइट्स :jbUTjG


3. 8 बाइट्स :h.f_IZ1z


4. 4 बाइट्स :}sEU


5. 8 बाइट्स :,K.vz-zK


6. 7 बाइट्स :ssMcz\,


7. 8 बाइट्स :s<FxB.Q0


8. 11 10 7 बाइट्स : ss.DVQU पिछला संस्करण:ss.e+<bk>bh

ध्यान दें कि मैंने इस समाधान को अन्य उत्तरों से पूरी तरह से स्वतंत्र रूप से विकसित किया है, हालांकि मुझे पार्टी में काफी देर हो गई है।


अच्छा प्रयास है। 3 समस्या 8 बाइट्स हैं।
जक्यूब

और मुझे पूरा यकीन है, कि समस्या 8 का समाधान उस समय वापस नहीं आया था। लेकिन मैंने इसका परीक्षण नहीं किया है।
जकूबे

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