संस्कृति के जनक


24

यह चुनौती मेमन कल्चर से प्रेरित है ।

मेम में मूल कैप्शन के कुछ हिस्सों को खाली करना शामिल है,

आह, मैं देख रहा हूँ कि तुम एक संस्कृति के आदमी भी हो।

ऐसा लगता है जैसे चरित्र कुछ और कह रहा है।

आपकी चुनौती एक प्रोग्राम लिखने की है, जिसमें एक इनपुट दिया गया है, यह दिखाते हैं कि इनपुट स्ट्रिंग को प्राप्त करने के लिए मूल वाक्य को कैसे खाली किया जा सकता है

नियम:

  • -एक खाली चरित्र का प्रतिनिधित्व करने के लिए एक चरित्र का उपयोग करें ।
  • इनपुट स्ट्रिंग को प्राप्त करने के लिए आपको अतिरिक्त अक्षर नहीं जोड़ना चाहिए
  • आप केस-असंवेदनशील के रूप में स्ट्रिंग तुलना का इलाज कर सकते हैं
  • आप स्ट्रिंग तुलनाओं में व्हॉट्सएप की उपेक्षा कर सकते हैं
  • यदि कोई प्रतिस्थापन संभव नहीं है, तो एक मिथ्या मूल्य का उत्पादन करें।
  • आप निरर्थक व्हाट्सएप को एक -अच्छी तरह से स्थानापन्न कर सकते हैं , हालांकि इसकी आवश्यकता नहीं है।
  • जहां कई समाधान संभव हैं, आप उनमें से किसी को भी आउटपुट कर सकते हैं।

परीक्षण के मामलों:

बेसिक:

उदाहरण मेमे १

Ah, I see you're a well.
> Ah, I see you're a --- -- ------- -- well.

उदाहरण मेमे २

Ah, I see well.
> Ah, I see ------ - --- -- ------- -- well.

बढ़त मामला 1:

What did you just say about me, you little
> false

एज केस 2 (संपादित):

*no input*
> --- - --- ------ - --- -- ------- -- -----

इंटरमीडिएट:

उदाहरण मेमे ३

Ah, I see you're Orwell.
> Ah, I see you're - --- o- -----r- -- well.

उदाहरण मेमे ४

Ah, ymca.
> Ah, - --- y----- - m-- -- c------ a- ----.

उदाहरण मेमे ५

Ah, a manual.
> Ah, - --- ------ a man -- -u----- a- --l-.
OR: > Ah, - --- ------ a man -- -u----- a- ---l.

और जोर से:

उदाहरण मेमे ६

tea.
> --- - --- ------ - --- -- ---t--e a- ----.

उदाहरण मेमे e

eeeee
> --- - -ee -----e - --- -- ------e -- -e---

टीएल; डीआर: एक इनपुट स्ट्रिंग को देखते हुए, एक स्ट्रिंग को आउटपुट करता है जो मूल स्ट्रिंग को इनपुट स्ट्रिंग को फिट करने के लिए कैसे संशोधित किया जाना चाहिए, एक "-" का उपयोग करके एक खाली आउट चरित्र का प्रतिनिधित्व करता है। यदि एक प्रतिस्थापन संभव नहीं है, तो एक मिथ्या मूल्य का उत्पादन करें।

कोड गोल्फ, बाइट्स में सबसे छोटा कोड जीतता है।

संपादित करें: स्पष्टीकरण

  • स्ट्रिंग तुलनाओं में व्हाट्सएप को अनदेखा करें इसका मतलब है कि आप स्ट्रिंग्स की तुलना करने से पहले व्हाट्सएप को दूर कर सकते हैं। उदाहरण के लिए, इनपुट Ah, a manualऔर Ah , a manualसमान माना जाता है। अन्य विराम चिह्नों , ' .को संरक्षित किया जाना चाहिए। इसी तरह आउटपुट के लिए, Ah, a manualके बराबर है Ah, amanual

  • स्थानापन्न निरर्थक व्हाट्सएप मूल कैप्शन में मौजूद रिक्त स्थान को संदर्भित करता है। आपको उन्हें "-" से बदलने की आवश्यकता नहीं है, लेकिन यदि आप नेट को अधिक अंक देते हैं तो आगे बढ़ें।


आपका "ऑरवेल" आउटपुट गलत लगता है: आपने पहले एक 'आर' को 'आर' में बदल दिया है।
ड्रेकोनिस

2
क्या उत्पादन चाहिए "Ah,<5 SPACES HERE>a manual."?
लिन

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

2
आप केस-असंवेदनशील के रूप में स्ट्रिंग तुलना का इलाज कर सकते हैं इसका मतलब यह है कि हमें इनपुट को केस-असंवेदनशील के रूप में मानना ​​चाहिए या हम जिस भी मामले में चाहते हैं, उसमें इनपुट ले सकते हैं? इसके अलावा, आप स्ट्रिंग तुलनाओं में व्हॉट्सएप को नजरअंदाज कर सकते हैं , क्या आपका मतलब है कि हमें रिक्त स्थान की अनदेखी करनी चाहिए? और "बेमानी व्हाट्सएप" क्या है?
एरिक आउटगॉल्फ

1
मुझे लगता है कि "इनपुट सत्यापन," अगर आप इसे कॉल कर सकते हैं, तो यहाँ समझ में आता है @EriktheOutgolfer
Conor O'Brien

जवाबों:


6

> <> , 94 बाइट्स

"vAh, I see you're a Man of Culture as well.
0/i~ <r
!\:?!^:}=0={:@*:@"-"$?$~}$:@?
<>~i+0)?;>o

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

केस-संवेदी, व्हाट्सएप या विराम चिह्न की उपेक्षा नहीं करता है और इनपुट अमान्य होने पर एक रिक्त स्ट्रिंग आउटपुट करता है। यदि आप अन्य स्ट्रिंग्स को आज़माना चाहते हैं, तो आप केवल पहली पंक्ति को संशोधित कर सकते हैं "v, जब तक कि इसमें एक "या एक बाइट न हो ।


5

रेटिना 0.8.2 , 117 बाइट्स

^.
¶Ah, I see you're a Man of Culture as well.¶$&
{+i`¶(\W|(\w))(.*¶)(?(2)\W*\2)
$1¶$3
}1`¶\w
-¶
.*¶.*¶.*\w.*|¶.*¶.*

इसे ऑनलाइन आज़माएं! केस-संवेदनशीलता की आवश्यकता होने पर 1 बाइट बचा सकता है। --, - --- ---'-- - --- -- ------- -- ----.खाली इनपुट पर लौटकर 3 बाइट्स बचा सकता है । स्पष्टीकरण:

^.
¶Ah, I see you're a Man of Culture as well.¶$&

इनपुट पर वांछित पाठ को प्रस्तुत करें।

{+i`¶(\W|(\w))(.*¶)(?(2)\W*\2)
$1¶$3

वांछित पाठ से परिणाम के लिए संभव के रूप में कई वर्ण ले जाएँ। यदि वर्ण एक अक्षर है तो उसे इनपुट में अगले अक्षर से मेल खाना चाहिए, जो तब हटा दिया जाता है।

}1`¶\w
-¶

यदि इनपुट में कोई मेल पत्र नहीं है, तो इसे बदलकर -पुनः प्रयास करें।

.*¶.*¶.*\w.*|¶.*¶.*

यदि इनपुट में अभी भी पत्र बाकी हैं, तो सब कुछ हटा दें, अन्यथा शेष इनपुट हटा दें।


5

जेली , 58 55 48 45 बाइट्स

“¬²Ẉ,ȷCIbƝɼeỴƤ/ɓIŒ;ṫṚS⁶_ŀỤ ṂB⁾÷ƈ»Ḣ”-1ị⁼ɗ?@€xṆ

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


अधिक पठनीय संस्करण:

“Ah, I see you're a man of culture as well.”Ḣ”-1ị⁼ɗ?@€xṆ

स्ट्रिंग संपीड़न टूटने:

Ah, I{short: see}{short: you}'re a{short: man} of{long: culture} as{short: we}ll.

3

पायथन 2 , 126 114 बाइट्स

i=input()
r=''
for c in"Ah, I see you're a man of culture as well.":x=c==i[:1];r+=c*x or'-';i=i[x:]
print(i=='')*r

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


पायथन 2 , 108 106 बाइट्स

इनपुट वर्णों की एक सूची है।

lambda i:''.join(c==`i`[2:3]and i.pop(0)or'-'for c in"Ah, I see you're a man of culture as well.")*(i==[])

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


(i=='')नहीं हो सका (i<' ')(एक टैब का उपयोग करके, सबसे कम मुद्रण योग्य वर्ण)?
जोनाथन फ्रीच

@JonathanFrech यह संभव है, लेकिन यह
ovs

खैर, आपको वहां एक बिंदु मिल गया है ...
जोनाथन फ्रीच

2

जावास्क्रिप्ट (Node.js) , 122 120 बाइट्स

x=>"Ah, I see you're a Man of Culture as well.".replace(/./g,c=>c>' '?/^(.)\1/i.test(c+x)?(x=x.slice(1).trim``,c):'-':c)

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

स्पष्टीकरण:

x =>                 // It takes in 'x' as parameter for function a string
    "Ah, I see you're a Man of Culture as well.". // What the actual is 
            .replace(                             // Now we are gonna replace 
                    /./g,     // selects everything 
                    c =>      // lambda function with param c
                        c > ' ' ?                 
                        /^(.)\1/i.test(           // does it all
                            c + x ) ?            // checks if there is a match
                            (x=x.slice(1). // returns everything from 1 to end in an array
                                trim`` ,   // removes whitespaces
                            c : '-' : c)   // and done

आगे कम किया जा सकता है, लेकिन व्हाट्सएप को '-' के साथ बदल देता है। अगर यह स्वीकार्य है

जावास्क्रिप्ट (Node.js) , 112 बाइट्स

x=>"Ah, I see you're a Man of Culture as well.".replace(/./g,c=>/^(.)\1/i.test(c+x)?(x=x.slice(1).trim``,c):'-')

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

आगे भी कम, केवल व्हाट्सएप को बदल देता है जो '-' के साथ दिए गए स्ट्रिंग के बाद हैं।

जावास्क्रिप्ट (Node.js) , 105 बाइट्स

x=>"Ah, I see you're a Man of Culture as well.".replace(/./g,c=>/^(.)\1/i.test(c+x)?(x=x.slice(1),c):'-')

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


1
पास न करेंWhat did you just say about me, you little
l4m2

मुझे What did you just say about me, you littleपरीक्षण मामले के लिए आपके कोड के लिए सही आउटपुट नहीं मिल रहा है । आपका प्रोग्राम --- - --- ------ - --- -- ------- -- w----आउटपुट के रूप में उत्पन्न होता है जो चुनौती की आवश्यकता के अनुसार नहीं है।
0 '

2

जावास्क्रिप्ट (Node.js) , 135 बाइट्स

x=>!!x&&(t="Ah, I see you're a Man of Culture as well.".replace(/./g,c=>c>' '?/^(.)\1/i.test(c+x)?(x=x.slice(1).trim(),c):'-':c),!x&&t)

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

यदि "हो सकता है" का अर्थ है या नहीं करना ठीक है, तो

जावास्क्रिप्ट (Node.js) , 106 बाइट्स

x=>x&&(t="Ah, I see you're a Man of Culture as well.".replace(/./g,c=>c==x[0]?(x=x.slice(1),c):'-'),!x&&t)

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


2

ब्रेन-फ्लैक , 764 600 बाइट्स

(((<>)))([]((((((([][][]()){}[]){})[][]){}))[[]()])[][]())([[]](([][](([][]){})[]){}())[[]])(([()()][]([[]]([()]([[]](((([()][][][])[]){}[]())[])[]))()()()))[[]])((([[][][]]((([](([()()()][]){})){})(()()()()){}())[[]])[]){})((((()((([][]){}())((()()()){}){})[[][][]]))){}{}())((()(((([]()()()())())){}{}()())[[][]]){}[])(([(()()()){}](((((()()()()){}[]))){}{}))((()()){}()){})(([()][][]([()()()][])))(((([][][]())[([]()()){}()])[]())[[]])([[]]((([]()())(()()()()){}){})()()()){([{}]<>({})){(<{}(((((()()()()())){}{})){}{})>)}{}(<({}<(<()>)<>{({}<>)<>}>{})>)<>{({}<>)<>}{}<>}{}<>{{{}}<>}<>{({}<>)<>}<>

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

जो किंग के लिए बड़े सुधार , विशेष रूप से स्ट्रिंग निर्माण में लेकिन मुख्य शरीर में कुछ तार्किक मोड़ भी। उससे स्पष्टीकरण

यह केस-संवेदी है (इसलिए "आह, मैं देख रहा हूं कि आप ऑरवेल हैं।" मेल नहीं खाता, लेकिन "आह, मैं देख रहा हूं कि आप ऑरवेल हैं।" करता है), इनपुट में व्हॉट्सएप को नजरअंदाज नहीं किया गया है, और मूल स्ट्रिंग में बेजोड़ व्हाट्सएप है। में परिवर्तित कर दिया -। मेरी समझ से, वे सभी वैध विकल्प हैं।

स्पष्टीकरण:

(476 bytes of much improved stack manipulation) #Push string

{ #While string
  ([{}]<>({})) #Check whether the top characters are equal
  {(<{}(((((()()()()())){}{})){}{})>)}{}  #If characters are not equal, push - on top of input
  (<({}<(<()>)<>{({}<>)<>}>{})>)<>{({}<>)<>}{}<>  #Take top of input (either - or matched char) and add to output
}{}
<>{{{}}<>} #Pop both stacks if input is left over
<>{({}<>)<>}<> #Reverse output

तुम्हें पता है, ब्रेन-फ्लैक के लिए मनमाने ढंग से परीक्षण का उत्पादन करने में मदद करने के लिए पहले एक सवाल था। मेरा अपना सबमिशन (कुछ संशोधनों के साथ) पाठ को 506 बाइट्स
जो किंग

कुछ अन्य सुधारों के साथ, मुझे कुल 604 बाइट्स
जो किंग



@JoKing तुम मेरे ब्रेन-फ्लैक को सुधारने में बहुत अच्छे हो, ऐसा लगता है
कामिल दकरी

2

हास्केल , 182 174 172 171 170 169 बाइट्स

import Data.Char
t=toLower
a!b=(b:)<$>a
""%l=Just$'-'<$l
l@(a:b)%(c:d)|t a==t c=b%d!c|1>0=l%d!'-'
_%_=mempty
(%"Ah, I see you're a man of culture as well.").concat.words

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

Ungolfed:

import Data.Char

template = "Ah, I see you're a man of culture as well."

-- strip spaces
preprocess :: String -> String
preprocess = filter (/=' ')

-- case-insensitive character comparison
a#b = (toLower a) == (toLower b)

strike' :: String -> String -> Maybe String
strike' "" "" = Just ""  -- base case
strike' _ "" = Nothing   -- chars are exhausted, impossible to convert
strike' "" rem = Just $ '-' <$ rem  -- full match, strike rest of chars
strike' cur@(x:xs) (r:rs)
    | x # r     =   (r:) <$> strike' xs rs  -- character matches; pop a char
    | otherwise = ('-':) <$> strike' cur rs -- no match; strike char, don't pop

strike :: String -> Maybe String
strike xs = strike' (preprocess xs) template

1

प्रोलोग (एसडब्ल्यूआई) , 109 बाइट्स

[]+[]+[].
I+[B|X]+[C|O]:-(I=[B|J],B=C;I=J,C=45),J+X+O.
I-O:-I+`Ah, I see you're a man of culture as well.`+O.

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

केस-संवेदी और व्हाट्सएप संवेदनशील। -/2विधेय अपनी पहली तर्क इनपुट स्ट्रिंग और दूसरा तर्क उत्पादन स्ट्रिंग किया जा रहा होने के साथ मुख्य विधेय है।



0

Pyth , 78 बाइट्स SBCS

V." y°äz µÿéiSs¾ýØC[ócõ!ó5§n"=b.x@zZkIqbN=+kN=hZ.?=+k\-))I<Zlz!z.?k

टेस्ट सूट
, कोड में मौजूद अनपेक्षित वर्ण, सही संस्करण के लिए लिंक देखें।
संवेदनशील मामला, व्हाट्सएप को नजरअंदाज नहीं करता है।


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