L'idea è semplice Devi creare una sostituzione di lettere "visualizzata", fornendo 3 stringhe (l'input può essere separato da virgola, input separati o come un array). Il primo segmento è la parola che vuoi correggere, e il secondo segmento sono le lettere che vuoi sostituire, e il terzo segmento è la sostituzione delle lettere nel segmento 2.
Per esempio:
| | Input | Starting Word | Output |
|----|-----------------------------|---------------|-------------|
| #1 | Hello world -wo -ld +Ea +th | Hello world | Hello Earth |
| #2 | Hello World -wo -ld +Ea +th | Hello World | Hello Worth |
| #3 | Hello -llo +y | Hello | Hey |
| #4 | Red -R -d +Gr +en | Red | Green |
| #5 | mississippi -is -i +lz +p | mississippi | mlzslzspppp |
| #6 | Football -o -a +a +i | Football | Fiitbill |
| #7 | mississippi -is -i +iz +p | mississippi | mpzspzspppp |
Spiegazione
Le sostituzioni devono essere eseguite passo dopo passo con le rispettive coppie. Ecco un'illustrazione con un input di mississippi -is -i +iz +pper dare l'output mpzspzsppp(vedi esempio #7sopra)
| Step | Input | Output |
|------ |--------------------------- |------------- |
| #1 | mississippi -is -i +iz +p | |
| #2 | mississippi -is +iz | mizsizsippi |
| #3 | mizsizsippi -i +p | mpzspzspppp |
Regole
- Gli input sono sempre in questo ordine
<starting_string> <list_of_letters_to_replace> <replacement_letters>. - Le lettere per sostituire e sostituire i gruppi non saranno mai mescolate (cioè: non ci saranno mai
-a +i -e +o). - Le lettere da sostituire hanno sempre il prefisso
-e le lettere di sostituzione hanno sempre il prefisso+. (Il prefisso è obbligatorio) - Potrebbe esserci più di un set di lettere da sostituire, quindi dovresti guardare il prefisso.
- Supponiamo che la quantità di gruppi di lettere da sostituire e la quantità di gruppi di lettere sostitutive siano sempre uguali (cioè: non ci sarà mai
-a -e +i) - Le sostituzioni fanno distinzione tra maiuscole e minuscole (vedi esempio
#1e#2). - Le sostituzioni vengono eseguite nell'ordine in cui sono state fornite nell'input.
- Le sostituzioni di lettere possono essere sostituite con altre sostituzioni. Vedere l'esempio
#6. - Il primo segmento (parola iniziale) non includerà mai caratteri
-o+. - Questo è code-golf, quindi i byte più corti vincono.
Classifiche
Ecco uno snippet di stack per generare sia una classifica regolare che una panoramica dei vincitori per lingua.
Per assicurarti che la tua risposta venga visualizzata, ti preghiamo di iniziare la risposta con un titolo, usando il seguente modello Markdown:
# Language Name, N bytes
dov'è Nla dimensione del tuo invio. Se si migliora il punteggio, è possibile mantenere i vecchi punteggi nel titolo, colpendoli. Per esempio:
# Ruby, <s>104</s> <s>101</s> 96 bytes
Se si desidera includere più numeri nell'intestazione (ad es. Perché il punteggio è la somma di due file o si desidera elencare separatamente le penalità del flag dell'interprete), assicurarsi che il punteggio effettivo sia l' ultimo numero nell'intestazione:
# Perl, 43 + 2 (-p flag) = 45 bytes
Puoi anche rendere il nome della lingua un collegamento che verrà quindi visualizzato nello snippet della classifica:
# [><>](http://esolangs.org/wiki/Fish), 121 bytes
var QUESTION_ID=96473,OVERRIDE_USER=38505;function answersUrl(e){return"http://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"http://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var r=e.size,a=s.size;return r-a});var s={},r=1,a=null,n=1;e.forEach(function(e){e.size!=a&&(n=r),a=e.size,++r;var t=jQuery("#answer-template").html();t=t.replace("{{PLACE}}",n+".").replace("{{NAME}}",e.user).replace("{{LANGUAGE}}",e.language).replace("{{SIZE}}",e.size).replace("{{LINK}}",e.link),t=jQuery(t),jQuery("#answers").append(t);var o=e.language;/<a/.test(o)&&(o=jQuery(o).text()),s[o]=s[o]||{lang:e.language,user:e.user,size:e.size,link:e.link}});var t=[];for(var o in s)s.hasOwnProperty(o)&&t.push(s[o]);t.sort(function(e,s){return e.lang>s.lang?1:e.lang<s.lang?-1:0});for(var c=0;c<t.length;++c){var i=jQuery("#language-template").html(),o=t[c];i=i.replace("{{LANGUAGE}}",o.lang).replace("{{NAME}}",o.user).replace("{{SIZE}}",o.size).replace("{{LINK}}",o.link),i=jQuery(i),jQuery("#languages").append(i)}}var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk",answers=[],answers_hash,answer_ids,answer_page=1,more_answers=!0,comment_page;getAnswers();var SCORE_REG=/<h\d>\s*([^\n,]*[^\s,]),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/,OVERRIDE_REG=/^Override\s*header:\s*/i;
body{text-align:left!important}#answer-list,#language-list{padding:10px;width:290px;float:left}table thead{font-weight:700}table td{padding:5px}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b"> <div id="answer-list"> <h2>Leaderboard</h2> <table class="answer-list"> <thead> <tr><td></td><td>Author</td><td>Language</td><td>Size</td></tr></thead> <tbody id="answers"> </tbody> </table> </div><div id="language-list"> <h2>Winners by Language</h2> <table class="language-list"> <thead> <tr><td>Language</td><td>User</td><td>Score</td></tr></thead> <tbody id="languages"> </tbody> </table> </div><table style="display: none"> <tbody id="answer-template"> <tr><td>{{PLACE}}</td><td>{{NAME}}</td><td>{{LANGUAGE}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr></tbody> </table> <table style="display: none"> <tbody id="language-template"> <tr><td>{{LANGUAGE}}</td><td>{{NAME}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr></tbody> </table>
gelloscritto male una parola ( ), e poi mi -g +havrebbe inviato le lettere sostitutive ( ) perché voleva essere fastidioso invece di inviare hello*.
letter to replace(con prefisso-) e gli input int (n / 2) da +1 a n-1 sonoreplacement(con prefisso+)