Fikir basit. 3 dize (giriş virgülle ayrılmış, ayrı girişler veya dizi olarak olabilir) sağlayarak "görselleştirilmiş" bir harf değiştirme işlemi oluşturmanız gerekir. İlk bölüm düzeltmek istediğiniz kelimedir ve ikinci bölüm değiştirmek istediğiniz harflerdir ve üçüncü bölüm ise bölüm 2'deki harflerin yerine geçer.
Örneğin:
| | 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 |
açıklama
Değiştirmeler kendi çiftleriyle adım adım yapılacaktır. İşte mississippi -is -i +iz +p
çıktıyı vermek için girişi olan bir mpzspzsppp
örnek ( #7
yukarıdaki örneğe bakın )
| Step | Input | Output |
|------ |--------------------------- |------------- |
| #1 | mississippi -is -i +iz +p | |
| #2 | mississippi -is +iz | mizsizsippi |
| #3 | mizsizsippi -i +p | mpzspzspppp |
kurallar
- Girişler her zaman bu sıradadır
<starting_string> <list_of_letters_to_replace> <replacement_letters>
. - Değiştirilecek gruplar ve grupların değiştirilmesi asla karıştırılmayacaktır (yani: asla olmayacak
-a +i -e +o
). - Yerine Mektuplar edilir hep öneki
-
ve yedek harfler hep kodu bulunmaktadır+
. (Ön ek zorunludur) - Değiştirilecek birden fazla harf grubu olabilir, bu nedenle ön eke bakmanız gerekir.
- Değiştirilecek harf grubu miktarının ve yedek harf grubu miktarının her zaman eşit olduğunu varsayalım (yani: asla olmayacak
-a -e +i
) - Değiştirmeler büyük / küçük harfe duyarlıdır (bkz. Örnek
#1
ve#2
). - Değiştirmeler, girdide verildikleri sırayla yapılır.
- Harf değiştirmeleri diğer değiştirmelerle değiştirilebilir. Örneğe bakın
#6
. - İlk segment (başlangıç sözcüğü) asla
-
veya+
karakter içermez . - Bu kod golf çok kısa bayt kazanmak.
Liderler
İşte hem düzenli bir skor tablosu hem de kazananları dile göre gözden geçirmek için bir Yığın Parçacığı.
Yanıtınızın göründüğünden emin olmak için lütfen aşağıdaki Markdown şablonunu kullanarak yanıtınızı bir başlıkla başlatın:
# Language Name, N bytes
N
gönderiminizin büyüklüğü nerede . Puanınızı artırmak varsa, olabilir onları içinden vurarak, başlığa eski hesapları tutmak. Örneğin:
# Ruby, <s>104</s> <s>101</s> 96 bytes
Başlığınıza birden fazla sayı eklemek istiyorsanız (örneğin, puanınız iki dosyanın toplamı olduğu veya yorumlayıcı bayrak cezalarını ayrı olarak listelemek istediğiniz için), gerçek puanın başlıktaki son sayı olduğundan emin olun :
# Perl, 43 + 2 (-p flag) = 45 bytes
Dil adını, daha sonra skor tablosu snippet'inde görünecek bir bağlantı da yapabilirsiniz:
# [><>](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>
gello
) ve sonra bana mektup değiştirmelerini ( -g +h
) gönderecekti çünkü göndermek yerine can sıkıcı olmak istiyordu hello*
.
letter to replace
(önekle-
) ve giriş int (n / 2) +1'den n-1'ereplacement
(önekle+
)