गायब करने वाले तत्व


17

एक स्ट्रिंग Sऔर सूचकांकों की सूची को देखते हुए X, उस परिणाम के नए मूल्य के रूप में उपयोग करते समय Sप्रत्येक सूचकांक पर तत्व को हटाकर संशोधित करें ।SS

उदाहरण के लिए, दिए गए S = 'codegolf'और X = [1, 4, 4, 0, 2],

0 1 2 3 4 5 6 7  |
c o d e g o l f  |  Remove 1
c d e g o l f    |  Remove 4
c d e g l f      |  Remove 4
c d e g f        |  Remove 0
d e g f          |  Remove 2
d e f

आपका कार्य इस प्रक्रिया को करना है, Sप्रत्येक ऑपरेशन के बाद के मूल्यों को इकट्ठा करना है, और प्रत्येक को एक नई रेखा पर प्रदर्शित करना है। अंतिम उत्तर होगा

S = 'codegolf'
X = [1, 4, 4, 0, 2]

Answer:

codegolf
cdegolf
cdeglf
cdegf
degf
def
  • यह इसलिए अपने कोड को यथासंभव छोटा बनाएं।
  • आप मान सकते हैं कि मान Xहमेशा के लिए मान्य सूचक हैं S, और आप 0-आधारित या 1-आधारित अनुक्रमण का उपयोग कर सकते हैं।
  • स्ट्रिंग में केवल शामिल होगा [A-Za-z0-9]
  • या तो Sया xद्वारा खाली हो सकता है। यदि Sखाली है, तो यह निम्न है कि xखाली भी होना चाहिए।
  • आप Sएक स्ट्रिंग के बजाय वर्णों की सूची के रूप में भी ले सकते हैं ।
  • आप या तो आउटपुट प्रिंट कर सकते हैं या स्ट्रिंग्स की सूची वापस कर सकते हैं। व्हाट्सएप का प्रमुख और अनुगामी होना स्वीकार्य है। आउटपुट का कोई भी रूप तब तक ठीक है जब तक यह आसानी से पढ़ने योग्य हो।

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

S = 'abc', x = [0]
'abc'
'bc'

S = 'abc', x = []
'abc'

S = 'abc', x = [2, 0, 0]
'abc'
'ab'
'b'
''

S = '', x = []
''

S = 'codegolfing', x = [10, 9, 8, 3, 2, 1, 0]
'codegolfing'
'codegolfin'
'codegolfi'
'codegolf'
'codgolf'
'cogolf'
'cgolf'
'golf'
code-golf  string  array-manipulation  code-golf  string  ascii-art  code-golf  number  sequence  pi  code-golf  number  array-manipulation  code-golf  string  ascii-art  code-golf  math  number  game  code-golf  math  sequence  polynomials  recursion  code-golf  math  number  sequence  number-theory  code-golf  permutations  balanced-string  code-golf  string  ascii-art  integer  code-golf  decision-problem  hexagonal-grid  code-golf  ascii-art  kolmogorov-complexity  code-golf  number  code-golf  matrix  binary-matrix  code-golf  math  statistics  code-golf  string  polyglot  code-golf  random  lost  code-golf  date  path-finding  code-golf  string  code-golf  math  number  arithmetic  number-theory  code-golf  tetris  binary-matrix  code-golf  array-manipulation  sorting  code-golf  number  code-golf  array-manipulation  rubiks-cube  cubically  code-golf  grid  optimization  code-golf  math  function  code-golf  string  quine  code-golf  ascii-art  grid  code-golf  decision-problem  grid  simulation  code-golf  math  sequence  code-golf  path-finding  code-golf  ascii-art  grid  simulation  code-golf  number  whitespace  code-golf  sequence  code-golf  sequence  code-golf  sequence  integer  code-golf  math  game  code-golf  internet  stack-exchange-api  code-golf  sequence  code-golf  internet  stack-exchange-api  code-golf  math  factoring  code-challenge  sequence  polyglot  rosetta-stone  code-golf  string  browser  code-golf  date  code-golf  base-conversion  code-challenge  cops-and-robbers  hello-world  code-golf  cops-and-robbers  hello-world 

क्या हम Sपात्रों की एक सूची के रूप में ले सकते हैं ?
श्री Xcoder

@ Mr.Xcoder यकीन है, मैं कल्पना में जोड़ देंगे।
मील

क्या हम पात्रों की सूची के रूप में छाप सकते हैं?
E

क्या हम आउटपुट में पहला आइटम (मूल स्ट्रिंग) छोड़ सकते हैं?
ETHproductions

@ETHproductions नहीं, आउटपुट पहले मूल स्ट्रिंग होना चाहिए, और फिर प्रत्येक स्ट्रिंग जो किसी वर्ण को हटाने से उत्पन्न होती है। तो आउटपुट में len(x)+1तार होना चाहिए ।
मीलों

जवाबों:


8

हास्केल, 38 33 बाइट्स

s#i=take i s++drop(i+1)s
scanl(#)

सीधे आगे: बार-बार तत्वों को सूचकांक I से पहले और बाद में लें, उन्हें फिर से जोड़ दें और परिणाम एकत्र करें।

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

संपादित करें: @Lynn ने 5 बाइट्स बचाए। धन्यवाद!


s#i=take i s++drop(i+1)sवास्तव में कम है, 5 बाइट्स बचा रहा है।
लिन

1
नहीं, आप अभी 33 पर हैं - यह मत भूलिए कि TIO स्निपेट q=में ^ ^ है;
लिन

हाँ, तुम सही हो।
नीमी

8

जावास्क्रिप्ट (ईएस 6), 57 50 48 45 42 बाइट्स

स्ट्रिंग को अलग-अलग वर्णों के एक सरणी के रूप में लेता है, प्रत्येक चरण के लिए अल्पविराम द्वारा अलग किए गए तार के अल्पविराम के बाद मूल के एक अल्पविराम से अलग स्ट्रिंग वाले सरणी को आउटपुट करता है।

s=>a=>[s+"",a.map(x=>s.splice(x,1)&&s+"")]
  • 3 बाइट्स ने अरनॉल्ड को धन्यवाद दिया, जिसमें मैंने सुझाव दिया कि मैं पहले से कहीं ज्यादा ढीले आउटपुट वाले चश्मे का दुरुपयोग करता हूं, जिसके कारण मुझे एक और 3 बाइट की बचत के लिए और भी अधिक गाली देनी पड़ी।

झसे आज़माओ

o.innerText=JSON.stringify((f=

s=>a=>[s+"",a.map(x=>s.splice(x,1)&&s+"")]

)([...i.value="codegolf"])(j.value=[1,4,4,0,2]));oninput=_=>o.innerText=JSON.stringify(f([...i.value])(j.value.split`,`))
label,input{font-family:sans-serif;font-size:14px;height:20px;line-height:20px;vertical-align:middle}input{margin:0 5px 0 0;width:100px;}
<label for=i>String: </label><input id=i><label for=j>Indices: </label><input id=j><pre id=o>


व्याख्या

हम दो इनपुट को मापदंडों s(स्ट्रिंग सरणी) और a(पूर्णांक सरणी) के माध्यम से सिंटेक्स में ले जाते हैं, जिसका अर्थ है कि हम फ़ंक्शन को कॉल करते हैं f(s)(a)

हम एक नई सरणी बनाते हैं और इसे मूल से शुरू करते हैं s। हालाँकि, जिस spliceविधि का उपयोग हम बाद में किसी सरणी को संशोधित करने के लिए कर रहे हैं, हमें उसकी एक प्रति बनाने की आवश्यकता है, जिसे हम इसे स्ट्रिंग में परिवर्तित करके कर सकते हैं (बस एक खाली स्ट्रिंग संलग्न करें)।

सबर्रे उत्पन्न करने के लिए, हम mapपूर्णांक सरणी a(जहां xवर्तमान पूर्णांक है) पर और, प्रत्येक तत्व के लिए, हम splice1 तत्व से s, सूचकांक पर शुरुआत करते हैं x। हम संशोधित लौटाते हैं s, फिर से इसे एक स्ट्रिंग में परिवर्तित करके इसकी एक प्रति बनाते हैं।


क्योंकि आउटपुट का कोई भी रूप तब तक ठीक रहता है जब तक वह आसानी से पढ़ा जा सके , मुझे लगता है कि एक को भी स्वीकार्य होना चाहिए:s=>a=>[s+'',...a.map(x=>s.splice(x,1)&&s+'')]
अरनौल

एक अच्छा, @Arnuald - मैंने इसे दूर तक धकेलने के बारे में नहीं सोचा होगा, यहां तक ​​कि यह कल्पना भी नहीं की जाएगी।
झबरा

6

जाप , 6 बाइट्स

åjV uV

इसे ऑनलाइन टेस्ट करें!

व्याख्या

UåjV uV   Implicit: U = array of integers, V = string
Uå        Cumulatively reduce U by
  j         removing the item at that index in the previous value,
   V        with an initial value of V.
     uV   Push V to the beginning of the result.

वैकल्पिक रूप से:

uQ åjV

UuQ       Push a quotation mark to the beginning of U.
    å     Cumulatively reduce by
     j      removing the item at that index in the previous value,
      V     with an initial value of V.

यह काम करता है क्योंकि इंडेक्स पर आइटम को हटाने से "कुछ नहीं होता है और इसलिए मूल स्ट्रिंग लौटाता है।


6

भूसी , 7 बाइट्स

G§+oh↑↓

पहले स्ट्रिंग लेता है, फिर (1-आधारित) सूचकांक। इसे ऑनलाइन आज़माएं!

व्याख्या

G§+oh↑↓
G        Scan from left by function:
           Arguments are string, say s = "abcde", and index, say i = 3.
      ↓    Drop i elements: "de"
     ↑     Take i elements
   oh      and drop the last one: "ab"
 §+        Concatenate: "abde"
         Implicitly print list of strings on separate lines.

मैं सूचकांक की एक खाली सूची का उपयोग कैसे करूं x?
मील

@ मील्स आपको इस प्रकार टाइप करना होगा
ज़र्गब

मैं देखता हूं, धन्यवाद। मैं हास्केल या हस्क से बहुत परिचित नहीं हूं।
मील

6

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

s,i=input()
for i in i+[0]:print s;s.pop(i)

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

आउटपुट का कोई भी रूप तब तक ठीक है जब तक यह आसानी से पढ़ने योग्य हो।

तो यह चार्ट की सूची के रूप में प्रिंट करता है।


1
अच्छा लगा, लेकिन आपने नोटेशन का दुरुपयोग for i in i+[0]क्यों चुना?
श्री Xcoder

@ Mr.Xcoder क्योंकि उस तरह से अंतिम लाइन दिखाई जाती है। (और इसका कारण मैंने पहली बार अलग से पोस्ट किया है)
आउटगॉल्फ

नहीं, नहीं +[0], मैं बात कर रहा हूं for i in ifor k in iसमतुल्य है
मिस्टर एक्सकोडर

@ Mr.Xcoder क्योंकि मैं इसे इस तरह से पसंद करता हूं ...
आउटगॉल्फ

ठीक है, बस जिज्ञासु ... शायद यह एक चाल थी जो मुझे नहीं पता था :)
श्री एक्सकोडर

5

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

@LuisMendo ने बताया कि इसे 43 बाइट्स तक छोटा किया जा सकता है , लेकिन यह पहले से ही @ ErktheOutgolfer का समाधान है।

a,b=input();print a
for i in b:a.pop(i);print a

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


`a`[2::5]इसके बजाय''.join(a)
रॉड

@ रोड कैसे काम करता है?
श्री एक्सकोडर

reprऔर स्ट्रिंग विभाजन, एक स्ट्रिंग में वर्णों की सूची को मोड़ने के लिए अच्छा काम करता है, अंकों की`a`[1::3] सूची के साथ भी इस्तेमाल किया जा सकता है
रॉड

@ मुझे पता है कि वे क्या हैं, मुझे समझ में नहीं आता कि ::5यहाँ कैसे काम होता है: P
श्री एक्सकोडर

@ Mr.Xcoder अच्छी तरह से फिर स्ट्रींग स्लाइसिंग का अध्ययन करता है;) मूल रूप से यह 2 से शुरू होने वाले हर 5 वें
चार्ट को लेता है

4

जावा 8, 78 बाइट्स

यह एक करीबी लैम्ब्डा है, int[]उपभोक्ता से StringBuilderया के लिए StringBuffer। आउटपुट को स्टैंडर्ड आउट करने के लिए प्रिंट किया जाता है।

l->s->{System.out.println(s);for(int i:l)System.out.println(s.delete(i,i+1));}

यह ऑनलाइन की कोशिश करो


1
आपका दूसरा उत्तर एक मान्य प्रविष्टि है। जब तक यह समझ में आता है तब तक आपको अपने इनपुट प्रकार का चयन करने के लिए मना करने से कुछ नहीं होता है। मैं कई बार पहले से ही Streamइनपुट के रूप में ले चुका हूं और बहुत अच्छे उत्तर मिला है। दरअसल, लगभग सभी गोल्फ भाषाएँ आंतरिक रूप से धाराओं का उपयोग करती हैं। तो अपने इनपुट का चयन करके, आप बस एक स्तर को समतल करते हैं। +1 फिर भी
ओलिवियर ग्रेजायर

शायद तुम सही हो। मुझे लगता है कि मैं इन चीजों के बारे में सबसे अधिक रूढ़िवादी हूं। मैं दूसरे समाधान पर जाऊंगा।
जैकब

3

05AB1E , 11 बाइट्स

v=ā0m0yǝÏ},

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

v           # For each index:
 =          #   Print without popping
  ā         #   Push range(1, len(a) + 1)
   0m       #   Raise each to the power of 0. 
            #   This gives a list of equal length containing all 1s
     0yǝ    #   Put a 0 at the location that we want to remove
        Ï   #   Keep only the characters that correspond to a 1 in the new list
         }, # Print the last step

पहली पंक्ति नहीं है। ओह, और निश्चित नहीं है कि आप इस तरह से प्रिंट कर सकते हैं।
E

@EriktheOutgolferAny form of output is fine as long as it is easily readable
रिले

मैं कुछ बाइट्स तब बचा सकता हूं ...
आउटगॉल्फ


3

आर , 46 32 बाइट्स

function(S,X)Reduce(`[`,-X,S,,T)

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

इनपुट को पात्रों की सूची के रूप में लेता है और X1-आधारित है। Reduceके बराबर है fold, इस मामले में फ़ंक्शन [जो सबसेट है। आर पर -Xनकारात्मक अनुक्रमण के कारण तत्व को हटाता है, और initइसके साथ सेट होता है S, accum=TRUEइसलिए हम मध्यवर्ती परिणामों को जमा करते हैं।

आर , 80 बाइट्स

function(S,X,g=substring)Reduce(function(s,i)paste0(g(s,0,i-1),g(s,i+1)),X,S,,T)

2-तर्क फ़ंक्शन, X1-अनुक्रमित लेता है। Sएक तार के रूप में लेता है ।

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


Reduceयहां उपयोग करने के लिए बहुत स्मार्ट । बहुत बढ़िया!
djhurio


3

पॉवरशेल , 94 84 बाइट्स

param($s,$x)$a=[Collections.Generic.list[char]]$s;$x|%{-join$a;,$a|% r*t $_};-join$a

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

$sएक स्ट्रिंग के $xरूप में और एक स्पष्ट सरणी के रूप में इनपुट लेता है । फिर हम सूची के $aआधार पर बनाते हैं $s

पॉवरशेल में ऐरे निश्चित आकार हैं (हमारे उद्देश्यों के लिए यहां), इसलिए हमें फ़ंक्शन [System.Collections.Generic.list]तक पहुंच प्राप्त करने के लिए लंबा प्रकार का उपयोग करने की आवश्यकता .removeAt()है, जो वास्तव में टिन पर यह कहता है।

मैंने दो को शामिल करने के लिए 10 बाइट का त्याग किया -join आउटपुट को सुंदर बनाने के लिए बयानों को । ओपी ने कहा है कि वर्णों की एक सूची का उत्पादन ठीक है, इसलिए मैं इसके $aबजाय सिर्फ उत्पादन कर सकता था -join$a, लेकिन यह वास्तव में मेरे विचार से बदसूरत है।

रिश्वतखोर के लिए धन्यवाद, 10 बाइट्स बचाए।


आप छोड़ सकते हैं Systemऔर सिर्फ उपयोग कर सकते हैं [Collections.Generic.list[char]]। बाइट का त्याग किए बिना इसे सुंदर बनाए रखने के लिए, आप अंतिम -join$aचरण में TIO में रख सकते हैं ।
रिश्वतखोर

मैं बदल कर लगता है कि आप 3 बाइट्स सेव भी कर सकते हैं $a.removeat($_)करने के लिए ,$a|% r*t $_
रिश्वतखोर

@briantist उन लोगों के लिए धन्यवाद - मैं हमेशा Systemवर्ग नाम से हटाना भूल जाता हूं । अफसोस की बात -join$aहै कि कोड के लिए अंतिम आवश्यक है, इसलिए मैं इसे पाद लेख में स्थानांतरित नहीं कर सकता।
AdmBorkBork


2

05AB1E , 9 7 बाइट्स

=svõyǝ=

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


=s        # Print original string, swap with indices.
  v       # Loop through indices...
   õyǝ    # Replace current index with empty string.

-2 @ विचार से परिचय के लिए धन्यवाद।


यह xखाली होने पर कुछ भी प्रिंट नहीं करता है।
रिले

@ रिले तय। (#ETHProductions फिक्स्ड।)
मैजिक ऑक्टोपस Urn

1
क्या आप केवल =sv""yǝ=एक नई पंक्ति के साथ बदलने और फिर नई पंक्ति को हटाने के बजाय ऐसा कुछ नहीं कर सकते थे ?
ETHproductions

@ETHproductions õभी काम करता है :)
मैजिक ऑक्टोपस Urn

वैसे मुझे पता नहीं है 05AB1E, haha
ETHproductions

2

रेटिना , 58 बाइट्स

¶\d+
¶¶1$&$*
+1`(?=.*¶¶.(.)*)(((?<-1>.)*).(.*)¶)¶.*
$2$3$4

इसे ऑनलाइन आज़माएं! स्पष्टीकरण:

¶\d+

सूचकांकों का मिलान करें (जो पहली पंक्ति में कभी नहीं होते हैं, इसलिए हमेशा एक नई पंक्ति से पहले होते हैं)।

¶¶1$&$*

सूचकांकों को डबल-स्पेस करें, यूनिरी में कनवर्ट करें, और 1 जोड़ें (क्योंकि रेटिना में शून्य कठिन हैं)।

+1`

पहले मैच को बार-बार बदलें, जो हमेशा स्ट्रिंग का वर्तमान मूल्य होता है।

   (?=.*¶¶.(.)*)

में अगले सूचकांक को पुनः प्राप्त करें $#1

                (           .    ¶)

$#1वें चरित्र और एक newline सहित स्ट्रिंग पर कब्जा ।

                 ((?<-1>.)*) (.*)

$#1स्ट्रिंग के वें चरित्र के उपसर्ग और प्रत्यय को अलग से कैप्चर करें ।

                                   ¶.*

सूचकांक का मिलान करें।

$2$3$4

$#1वें चरित्र के उपसर्ग और प्रत्यय के साथ स्ट्रिंग को स्वयं और सूचकांक के साथ बदलें ।


2

पायथ, 8 बाइट्स

.u.DNYEz

प्रदर्शन

कम करें, स्ट्रिंग के साथ शुरू करें और हटाने के कार्य पर सूचकांकों की सूची पर पुनरावृति करें।


2

पॉवरशेल , 54 58 बाइट्स

param($s,$x),-1+$x|%{$z=$_;$i=0;-join($s=$s|?{$z-ne$i++})}

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

व्याख्या

इनपुट को चार सरणी के रूप में लेता है ( [char[]])।

सूचकांकों की सरणी के माध्यम से Iterates ( $x) प्लस -1प्रत्येक का पहला तत्व इंजेक्ट करता है , फिर प्रत्येक के लिए वर्तमान तत्व असाइन करता है $z, आरंभ $iकरता है 0, फिर वर्णों के सरणी के माध्यम से पुनरावृत्ति करता है ( $s), केवल वर्णों का नया सरणी वापस करता है। $i) -neबाहर करने के लिए ( $z) वर्तमान सूचकांक के बराबर नहीं है ( )। यह नया सरणी वापस सौंपा गया है $s, जबकि एक साथ लौटाया जा रहा है (यह तब होता है जब असाइनमेंट कोष्ठकों में किया जाता है)। वह लौटा हुआ परिणाम है-join एक स्ट्रिंग बनाने के लिए एड होता है जिसे पाइप लाइन के लिए भेजा जाता है।

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


1
उपयुक्त सूचकांकों को बाहर निकालने का बहुत चतुर तरीका।
AdmBorkBork

2

क्यू / KDB +, 27 10 बाइट्स

समाधान:

{x _\0N,y}

उदाहरण:

q){x _\0N,y}["codegolf";1 4 4 0 2]
"codegolf"
"cdegolf"
"cdeglf"
"cdegf"
"degf"
"def"
q){x _\0N,y}["abc";0]
"abc"
"bc"
q){x _\0N,y}["abc";()]
"abc"
q){x _\0N,y}["abc";2 0 0]
"abc"
"ab"
,"b"
""    
q){x _\0N,y}["";()]
""

स्पष्टीकरण:

धर्मान्तरित कार्यक्षमता का लाभ लेने के \साथ ही ड्रॉप भी करता है _

{x _\0N,y}
{        } / lambda function, x and y are implicit variables
     0N,y  / join null to the front of list (y), drop null does nothing
   _\      / drop over (until result converges) printing each stage
 x         / the string (need the space as x_ could be a variable name)

टिप्पणियाँ:

यदि हमें मूल परिणाम प्रिंट करने की आवश्यकता नहीं है, तो इसमें 2 बाइट्स होंगे q:

q)_\["codegolfing";10 9 8 3 2 1 0]
"codegolfin"
"codegolfi"
"codegolf"
"codgolf"
"cogolf"
"cgolf"
"golf"

2

पर्ल 5 , 55 बाइट्स (54 + "-l ")

sub{print($s=shift);for(@_){substr$s,$_,1,"";print$s}}

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


अच्छा! मैं एक बहुत ही समान दृष्टिकोण के साथ आया था, लेकिन -pa44 बाइट्स के लिए एक पूर्ण कार्यक्रम (उपयोग करते हुए ) के रूप में:$_=<>;substr$_,shift@F,print,""while@F&&$_
डोम हेस्टिंग्स

अच्छा! निश्चित नहीं है कि आपको अंतिम की आवश्यकता है &&$_क्योंकि आप मान सकते हैं कि इनपुट वैध है (सूचकांकों की सूची स्ट्रिंग से अधिक लंबी नहीं हो सकती है)। printवर्णों की संख्या के रूप में वापसी मूल्य का उपयोग करना काफी धीमा है।
aschepler

आह, यह सच है! मैं कल्पना के उस हिस्से को नोटिस नहीं किया! मुझे लगा कि मेरा उत्तर हालांकि आपसे अलग पोस्ट करने के समान था!
डोम हेस्टिंग्स

2

MATL , 8 बाइट्स

ii"t[]@(

इंडेक्सिंग 1-आधारित है।

इसे ऑनलाइन आज़माएं! या परीक्षण मामलों की पुष्टि करें

व्याख्या

i      % Input string. Input has to be done explicitly so that the string
       % will be displayed even if the row vector of indices is empty
i      % Input row vector of indices
"      % For each
  t    %   Duplicate current string
  []   %   Push empty array
  @    %   Push current index
  (    %   Assignment indexing: write [] to string at specified index
       % End (implicit). Display stack (implicit)

2

सी # (.NET कोर) , 87 87 74 70 बाइट्स

S=>I=>{for(int i=0;;S=S.Remove(I[i++],1))System.Console.WriteLine(S);}

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

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

-4 बाइट्स TheLethalCoder के लिए धन्यवाद


हाल ही में मेटा सर्वसम्मति के अनुसार (जो मुझे नहीं मिल सकता है) C # में पुनरावर्ती लैम्ब्डा को तब तक अस्वीकृत कर दिया जाता है जब तक आप निर्दिष्ट नहीं करते कि वे बाइट काउंट में क्या संकलित करते हैं। इसलिए, इस मामले में एक पूर्ण विधि कम है। जब तक यह तय नहीं हो जाता, तब तक मैं नीचे उतर रहा हूं।
द लीथल कोडर

@ TheLethalCoder मैं सर्वसम्मति से सहमत नहीं हो सकता है, लेकिन यह आम सहमति है । मैंने अपना उत्तर अपडेट कर दिया है।
कामिल दकरी

70 बाइट्स । लूप ब्रेस की जरूरत को रोकने के लिए करीने का उपयोग करें और एक कथन को लूप में ले जाएं।
TheLethalCoder

@ TheLethalCoder आह, तो आप कैसे C # में करी का उपयोग करते हैं! मुझे पता था कि यह वास्तव में दो तर्कों के लिए छोटा था, लेकिन यह हमेशा मेरे सिंटैक्स के कुछ हिस्से के बारे में शिकायत करता था। सुधार के लिए धन्यवाद
कामिल दकरी

कोई चिंता नहीं है और हाँ पहले एक हमेशा एक होना चाहिए Funcकि रिटर्न अन्य Func, Action, Predicate, ...
TheLethalCoder


1

Pyth , 10 बाइट्स

नियम परिवर्तन ने मुझे बचा लिया 1 बाइट:

V+E0Q .(QN

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

अजगर , 11 बाइट्स

V+E0sQ .(QN

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


@ मील्स डिफॉल्ट रूप से स्टैडर आउटपुट की अनुमति नहीं है?
आउटगॉल्फ

@ Mr.Xcoder मैंने सोचा था कि स्टैडरर आउटपुट को उस मामले में नजरअंदाज किया गया था ...
एरिक आउटगॉल्फर

@ मीलों मैं मेरा निकाल दूंगा और अगर हम उन्हें नहीं हटाएंगे तो इसे एक झंडे पर उतार देंगे। धन्यवाद!
श्री एक्सकोडर

1

गैया , 9 बाइट्स

+⟪Seḥ+⟫⊣ṣ

मुझे वास्तव में "इंडेक्स पर डिलीट" फंक्शन जोड़ना चाहिए ...

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

व्याख्या

+          Add the string to the list
 ⟪Seḥ+⟫⊣   Cumulatively reduce by this block:
  S         Split around index n
   e        Dump the list
    ḥ       Remove the first char of the second part
     +      Concatenate back together
        ṣ  Join the result with newlines

1

वी , 12 बाइट्स

òdt,GÙ@-|xHx

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

यह 1-अनुक्रमित है, इनपुट इस तरह है:

11,10,9,4,3,2,1,
codegolfing

व्याख्या

ò              ' <M-r>ecursively until error
 dt,           ' (d)elete (t)o the next , (errors when no more commas)
    G          ' (G)oto the last line
     Ù         ' Duplicate it down
        |      ' Goto column ...
      @-       ' (deleted number from the short register)
         x     ' And delete the character there
          H    ' Go back home
           x   ' And delete the comma that I missed

मैं सूचकांक की एक खाली सूची का उपयोग कैसे करूं x?
मील

@ मील्स कुछ बाइट्स जोड़कर :)। बस एक खाली पहली पंक्ति अब काम करेगी। यदि आप एक अनुगामी अल्पविराम के साथ सूची लेते हैं तो क्या आप ठीक होंगे? आईई 1,2,3,। खाली सूची कुछ नहीं होगी, सिंगलटन होगा1,
nmjcman101

ज़रूर, आप उस इनपुट प्रारूप का उपयोग कर सकते हैं।
मील


1

पायथ, 8 बाइट्स

+zm=z.Dz

परीक्षण सूट!

व्याख्या

+zm=z.DzdQ    # implicit: input and iteration variable
  m      Q    # for each of the elements of the first input (the array of numbers, Q)
     .Dzd     # remove that index from the second input (the string, z)
   =z         # Store that new value in z
+z            # prepend the starting value



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