प्रत्येक दिन आप एक नए शब्द को चल अक्षरों के साथ एक मार्की संकेत पर रख देते हैं , बस आपको जो पत्र लिखने की आवश्यकता होती है उसे खरीदते हैं। जब भी संभव हो आप पहले लिखे गए शब्दों के लिए खरीदे गए अक्षरों का फिर से उपयोग करें। उन शब्दों को देखते हुए जिन्हें आप प्रत्येक दिन क्रम में लिखना चाहते हैं, प्रत्येक दिन आपके द्वारा खरीदे जाने वाले पत्रों को आउटपुट करें।
उदाहरण
Input: ['ONE', 'TWO', 'THREE', 'SEVENTEEN']
Output: ['ENO', 'TW', 'EHR', 'EENSV']
दिन 1: आपके पास कोई पत्र के साथ शुरू करते हैं, तो लिखने के लिए ONE
, आप अपने सभी पत्र खरीदने E
, N
, O
।
दिन 2: अगले दिन, आप ऊपर TWO
(नीचे ले जाना ONE
) चाहते हैं। आपके पास पहले से एक O
है ONE
, इसलिए आप एक अतिरिक्त खरीदते हैं TW
।
दिन 3: इस बिंदु पर, आपके पास है ENOWT
। लिखने के लिए
THREE
, आपको चाहिए EHR
। ध्यान दें कि आपको अपने पास एक सेकंड खरीदने की आवश्यकता E
है।
दिन 4: लिखने के लिए SEVENTEEN
, आपको 4 E
के कुल की आवश्यकता है,
जिसमें से आपके पास पहले से ही दो (तीन नहीं!) हैं, इसलिए आप दो और खरीदते हैं। आपके पास एक T
और एक है N
, इसलिए आप शेष पत्र खरीदते हैं
EENSV
:।
हमने इस उदाहरण में वर्णानुक्रम से सॉर्ट किए गए आउटपुट अक्षर बनाए हैं, लेकिन आप उन्हें किसी भी क्रम में आउटपुट कर सकते हैं।
इनपुट: पत्रों के गैर-खाली तारों की एक गैर-खाली सूची A-Z
। आप चाहें तो लोअरकेस का उपयोग कर सकते हैं। तार के लिए पात्रों की सूची ठीक है।
आउटपुट: प्रत्येक दिन खरीदने के लिए आवश्यक अतिरिक्त अक्षरों को आउटपुट या प्रिंट करें। एक दिन के लिए पत्र किसी भी क्रम में आउटपुट हो सकते हैं, लेकिन दिन सही क्रम में आने चाहिए।
प्रत्येक दिन के पत्रों को अन्य दिनों से अलग किया जाना चाहिए ताकि आप यह बता सकें कि एक दिन कहाँ समाप्त होता है। एक अनुगामी और / या अग्रणी विभाजक ठीक है, दोनों एक दिन के भीतर या दिनों के बीच। ध्यान दें कि एक दिन में कोई पत्र नहीं खरीदा जा सकता है, जो आउटपुट में परिलक्षित होना चाहिए (एक स्थान या खाली रेखा ठीक है, यहां तक कि अंतिम दिन भी)।
परीक्षण के मामलों
['ONE', 'TWO', 'THREE', 'SEVENTEEN']
['ENO', 'TW', 'EHR', 'EENSV']
['ONE', 'TWO', 'ONE', 'THREE']
['ENO', 'TW', '', 'EHR']
['ABC', 'AABC', 'ABBC', 'ABCC', 'AABBCC']
['ABC', 'A', 'B', 'C', '']
['SHORT', 'LOONG', 'LOOOONG', 'LOOOOOOONG', 'SHORT', 'LOOONG']
['HORST', 'GLNO', 'OO', 'OOO', '', '']
यहां अलग-अलग सूचियों के रूप में सभी इनपुट और आउटपुट हैं:
[['ONE', 'TWO', 'THREE', 'SEVENTEEN'], ['ONE', 'TWO', 'ONE', 'THREE'], ['ABC', 'AABC', 'ABBC', 'ABCC', 'AABBCC'], ['SHORT', 'LOONG', 'LOOOONG', 'LOOOOOOONG', 'SHORT', 'LOOONG']]
[['ENO', 'TW', 'EHR', 'EENSV'], ['ENO', 'TW', '', 'EHR'], ['ABC', 'A', 'B', 'C', ''], ['HORST', 'GLNO', 'OO', 'OOO', '', '']]
और अंतरिक्ष-अलग स्ट्रिंग्स (आउटपुट मामले में अनुगामी रिक्त स्थान) के रूप में:
ONE TWO THREE SEVENTEEN
ONE TWO ONE THREE
ABC AABC ABBC ABCC AABBCC
SHORT LOONG LOOOONG LOOOOOOONG SHORT LOOONG
ENO TW EHR EENSV
ENO TW EHR
ABC A B C
HORST GLNO OO OOO
लीडरबोर्ड
var QUESTION_ID=183544,OVERRIDE_USER=20260;function answersUrl(e){return"https://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"https://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>