একটি ওয়ার্ড আইসিকল করুন


45

স্ট্যাক এক্সচেঞ্জের প্রযুক্তিগত সীমাবদ্ধতার কারণে শিরোনামটি ভুলভাবে রেন্ডার করা হয়েছে। সঠিক এই চ্যালেঞ্জ জন্য শিরোনাম

একটি করা

Word Icicle!
Word Icicle 
Word  cicle 
 ord  cicle 
 ord   icle 
 ord   i le 
 or    i le 
 or    i l  
 or      l  
 or         
  r         

আজকের চ্যালেঞ্জটি ইনপুট শব্দটি থেকে আইসিকেল তৈরি করা। পুরোপুরি মুদ্রণযোগ্য এএসসিআইআইয়ের একটি স্ট্রিং দেওয়া হয়েছে এবং কমপক্ষে 2 অ-স্থানের অক্ষরগুলি নীচের পদক্ষেপগুলি সম্পাদন করুন:

  1. স্ট্রিংয়ের বর্তমান অবস্থা মুদ্রণ করুন।

  2. ক্ষুদ্রতর অক্ষরটিকে (স্পেস ব্যতীত) স্থান দিয়ে একটি স্থানের সাথে প্রতিস্থাপন করুন। যদি টাই থাকে তবে বামতম চরিত্রটি প্রতিস্থাপন করুন।

  3. স্ট্রিংটিতে কেবলমাত্র 1 অ-স্থানের অক্ষর না হওয়া পর্যন্ত একটানা রেখায় পুনরাবৃত্তি করুন।

এটি এমন প্রভাব তৈরি করে যা দেখে মনে হচ্ছে ইনপুট স্ট্রিংটি গলে যাচ্ছে ...

I'm Melting!!!
I'm Melting !!
I'm Melting  !
I'm Melting   
I m Melting     
  m Melting   
  m  elting   
  m   lting   
  m   ltin    
  m   lt n    
  m    t n    
       t n    
       t      

বিধি

  • কয়েকবার পুনরাবৃত্তির পরে, আপনার আউটপুটটিতে অবশ্যই প্রতিটি লাইনে অবশ্যই পিছনের জায়গা থাকবে। আপনি যদি এগুলি ছাঁটাই করতে চান তবে এটি অনুমোদিত।

  • আপনার একটি খালি রেখা অনুসরণ করতে পারে তবে এর চেয়ে বেশি নয়।

  • মনে রাখবেন ইনপুটটিতে বেশ কয়েকটি স্থান থাকতে পারে তবে এগুলি কার্যকরভাবে এড়ানো যায়। উদাহরণস্বরূপ, ইনপুটটি দেওয়া a aউচিত

    a      a
           a
    
  • আপনি চাইলে স্ট্রিংগুলির তালিকা হিসাবে ইনপুট নিতে পারেন। আউটপুটের জন্য, আপনি স্ট্রিংগুলির তালিকা, নিউলাইনগুলির সাথে একটি একক স্ট্রিং, বা চর ম্যাট্রিক্স / 2 ডি অ্যারে মুদ্রণ করতে পারেন। সাধারণত, আমি অনুমতিপ্রাপ্ত আইও ফর্ম্যাটগুলিকে পছন্দ করি, সুতরাং অন্যান্য ফর্ম্যাটগুলি যতক্ষণ না সুসংগত এবং সঠিকভাবে সঠিক আউটপুটের সাথে সুস্পষ্টভাবে অনুমোদিত ততক্ষণ অনুমোদিত হয় allowed যদি সন্দেহ হয় তবে নির্দ্বিধায় জিজ্ঞাসা করুন। যথারীতি, সম্পূর্ণ প্রোগ্রাম বা ফাংশন অনুমোদিত।

  • মনে রাখবেন, কোনও ভাষায় স্বল্পতম উত্তর দেওয়ার জন্য এটি একটি প্রতিযোগিতা! আপনি যদি জাভাতে উত্তরটি চয়ন করেন, আপনি যা করতে পারেন তা সংক্ষিপ্ত জাভা উত্তর (বাইটে) দেওয়ার চেষ্টা করুন।

পরীক্ষার মামলা

Hello World! -->

Hello World!
Hello World 
 ello World 
 ello  orld 
 ello  orl  
  llo  orl  
   lo  orl  
    o  orl  
    o  or   
       or   
        r   


AbCdEfGhIjKlMnOpQrStUvWxYz -->

AbCdEfGhIjKlMnOpQrStUvWxYz
 bCdEfGhIjKlMnOpQrStUvWxYz
 b dEfGhIjKlMnOpQrStUvWxYz
 b d fGhIjKlMnOpQrStUvWxYz
 b d f hIjKlMnOpQrStUvWxYz
 b d f h jKlMnOpQrStUvWxYz
 b d f h j lMnOpQrStUvWxYz
 b d f h j l nOpQrStUvWxYz
 b d f h j l n pQrStUvWxYz
 b d f h j l n p rStUvWxYz
 b d f h j l n p r tUvWxYz
 b d f h j l n p r t vWxYz
 b d f h j l n p r t v xYz
 b d f h j l n p r t v x z
   d f h j l n p r t v x z
     f h j l n p r t v x z
       h j l n p r t v x z
         j l n p r t v x z
           l n p r t v x z
             n p r t v x z
               p r t v x z
                 r t v x z
                   t v x z
                     v x z
                       x z
                         z


PPCG is da BEST --> 

PPCG is da BEST
PPCG is da  EST
PP G is da  EST
PP G is da   ST
PP   is da   ST
 P   is da   ST
     is da   ST
     is da    T
     is da     
     is d      
     is        
      s        


({({})({}[()])}{}) -->

({({})({}[()])}{})
 {({})({}[()])}{})
 { {})({}[()])}{})
 { {}) {}[()])}{})
 { {}) {}[ )])}{})
 { {}  {}[ )])}{})
 { {}  {}[  ])}{})
 { {}  {}[  ] }{})
 { {}  {}[  ] }{} 
 { {}  {}   ] }{} 
 { {}  {}     }{} 
   {}  {}     }{} 
    }  {}     }{} 
    }   }     }{} 
    }   }     } } 
        }     } } 
              } } 
                } 

1
"বিন্যাসে ক্ষুদ্রতম" মানে কোড পয়েন্ট?
জিউসেপে

1
@ জিউসেপ হ্যাঁ, সবচেয়ে ছোট এএসসিআইআই কোড পয়েন্টের চরিত্রটি (স্পেস ব্যতীত স্পষ্টতই অন্য)
ডিজেএমসিএমহেম

2
আমার মনে হয় যেখানে আমাদের আরও একটি চ্যালেঞ্জের কথা মনে করিয়ে দেয়, আমি মনে করি, উল্লিখিতভাবে বর্ণমালায় একটি বর্ণকে এর সূচক অনুসারে পুনরাবৃত্তি করে।
শেগি

6
@ শেগি আপনি সম্ভবত কিছু বর্ণমালার বৃষ্টি তৈরি করার কথা ভাবছেন ।
রেইনবোল্ট

2
মিডিয়াউইকি যদিও সেই রেফারেন্স ...
এরিক আউটগল্ফার

উত্তর:



8

রেটিনা , 28 বাইট

/\S/+¶<~(O`.
0L$`\S
0`$\$&¶ 

এটি অনলাইন চেষ্টা করুন! ব্যাখ্যা:

/\S/+

ইনপুট মান ফাঁকা না থাকলে পুনরাবৃত্তি করুন।

¶<

বর্তমান মান মুদ্রণ করুন।

~(

স্ক্রিপ্টের বাকি অংশটি মানটিতে চালিত করুন। তারপরে, স্ক্রিপ্টটির ফলাফলটিকে স্ক্রিপ্ট হিসাবে মান হিসাবে চালিত করুন।

O`.

অক্ষরগুলিকে ক্রম অনুসারে বাছাই করুন।

0L$`\S
0`$\$&¶ 

প্রথম ননব্ল্যাঙ্ক চরিত্রটি নির্বাচন করুন এবং আউটপুট করুন এমন একটি রেটিনা প্রোগ্রাম যা $\সেই অক্ষরটির প্রথম আক্ষরিক ( ) উপস্থিতির পরিবর্তে ( $&) একটি স্পেস (মূল কোডের পিছনে স্থান) দিয়ে।


6

এপিএল (ডায়ালগ ইউনিকোড) , 18 11 বাইট

∪∘↓∘⍉⍋∘⍋⍴⌸⊢

এটি অনলাইন চেষ্টা করুন!

ব্যবহার ⎕io←1; স্ট্রিংগুলির একটি অ্যারে প্রদান করে (চরিত্রের ভেক্টরগুলির ভেক্টর)


Is প্রয়োজনীয়?
ক্রিটসি লিথোস

@ জিজ্ঞাসাবাদ হ্যাঁ, অন্যথায় আউটপুটটির প্রথম কয়েকটি সারি অভিন্ন হতে পারে
এনজিএন

@ জিজ্ঞাসাবাদ ধন্যবাদ, আমি এটি খেয়াল করিনি
এনজিএন

ভাগ্যক্রমে, এটিকে ঠিক করার ফলে একটি সংক্ষিপ্ত সমাধান হতে পারে :)
এনজিএন

দুর্দান্ত এক, সত্যই চতুর ব্যবহার ⍋∘⍋:)
ক্রিটসি লিথোস

6

05 এ বি 1 ই , 9 বাইট

ðм{v=yð.;

এটি অনলাইন চেষ্টা করুন!

ব্যাখ্যা

ð      # Push space
м      # Implicit input. Remove spaces
{      # Sort. Gives string of sorted, non-space chars
v      # For each char in that string
  =    #   Print latest string, without popping. The first time it prints the input
  y    #   Push current char
  ð    #   Push space
  .;   #   Replace first occurrence of current char by space
       # Implicitly end for-each loop

1
{ðKv=yð.;আমার ছিল, সুন্দর।
যাদু অক্টোপাস উরন

@ ম্যাজিক অ্যাক্টোপাস উর্ন হি, বেশ অনুরূপ
লুইস মেন্ডো

1
@ ম্যাজিক অ্যাক্টপাস ইউরান আসলে, এটি সর্বশেষতম 05AB1E সংস্করণে 9 টি বাইট একই রকম হবে .. :সমস্ত অক্ষর .;প্রতিস্থাপন করে তার পরিবর্তে প্রথমটি প্রতিস্থাপন করে (যেমন !পরীক্ষার ক্ষেত্রে আপনার 7-বাইটারটি কী করে দেখুন )। এছাড়াও, চ্যালেঞ্জটি স্পেসগুলি বাদ দিয়ে স্পষ্টভাবে জানিয়েছে, তাই আপনার 7-বাইটার একাধিক স্পেস সহ ইনপুটটির জন্য কাজ করবে না। পিএস: সুন্দর উত্তর, লুইস! আমার কাছ থেকে +1 :)
কেভিন ক্রুইজসেন

1
@ কেভিন ক্রুইজসেন আমাকে .;প্রথমে কেন ব্যবহার করতে হয়েছে তা ভুলে যেতে আমার উপর ছেড়ে দিন । আমি আক্ষরিক মনে করেছিলাম যে এই বছরের প্রথম দিকে এখন আপনি উল্লেখ করেছেন এর সাথে লড়াই করেছি।
ম্যাজিক অক্টোপাস উরন

1
@ লুইস মেন্ডো ওয়েল, আপনি এই উত্তরে যে আদেশগুলি ব্যবহার করেছেন সেগুলির কোনওটিই 05AB1E এর এলিক্সির পুনরায় লেখায় পরিবর্তিত হয়নি। :)
কেভিন ক্রুইজসেন


5

সেড -rn , 142 143 বাইট

:a
p
s/$/	ABCDEFGHIJKLMNOPQRSTUVWXYZ/
s	\w+$	!"#$%\&'()*+,-./0123456789:;<=>?@&[\\]^_`\L&{|}~	
:b
/(.).*	\1/!s/	./	/
tb
s/(.)(.*)	\1.*/ \2/
ta

এটি অনলাইন চেষ্টা করুন!

(দ্রষ্টব্য: প্রোগ্রামে ট্যাব রয়েছে)

যেহেতু সেডের অভিধান সংক্রান্ত অর্ডার সম্পর্কিত কোনও ধারণা নেই, তাই আমাকে মুদ্রণযোগ্য এএসসিআইআই অক্ষরের সেটটি হার্ডকোড করতে হয়েছিল এবং এটি অর্ধেকেরও বেশি বাইট্যাক্ট গ্রহণ করে।

৪.২.২ সেড ব্যবহার করা বাই-কাউন্টকে ২ দ্বারা হ্রাস করবে, যেহেতু এটি নামবিহীন লেবেলের জন্য অনুমতি দেয়, এটি অনলাইনে চেষ্টা করুন!


-r বর্ধিত নিয়মিত এক্সপ্রেশন (গল্ফায়ার) সক্ষম করে

-n প্রোগ্রামের শেষে প্যাটার্ন স্পেসের অন্তর্নিহিত মুদ্রণ অক্ষম করে

প্যাটার্ন স্পেসটি ইনপুট দিয়ে শুরু হয়

:aলেবেল a, এটি প্রধান প্রোগ্রাম লুপ

p প্যাটার্ন স্পেস (বাফারের অভিনব নাম) মুদ্রণ করুন

এখন আমরা মুদ্রণযোগ্য ASCII অক্ষরের সেট সংযোজন করি (স্থান বাদে)

s/$/ ABCDEFGHIJKLMNOPQRSTUVWXYZ/ বড় হাতের অক্ষর অনুসারে 1-বাইট ডেলিমিটার হিসাবে অভিনয় করে একটি ট্যাব সংযোজন করুন

s<tab>বিকল্প (সেড যে কোনও চরিত্রটিকে ডিলিমিটার হিসাবে নিতে পারে, এক্ষেত্রে ট্যাবটি একটি বাইটকে পলায়ন থেকে বাঁচাতে ব্যবহার করা হয় /)

  • \w+$ বড় হাতের বর্ণমালা আমরা কেবল সংযুক্ত করেছি

  • <tab> সঙ্গে

  • !"#$%\&'()*+,-./0123456789:;<=>?@&[\\]^_\`\L&{|}~<tab>বাকি অক্ষরগুলি, নোটটি \L&হ'ল বড় হাতের অক্ষরের ছোট হাতের সংস্করণ

:bলেবেল b, ইনপুট উপস্থিত না থাকা শুরু সেট থেকে অক্ষর মুছে ফেলুন

/(.).* \1/! যদি ASCII সেট থেকে প্রথম অক্ষর ইনপুটটিতে না থাকে

  • s/ ./ / এটা মুছুন

tbbপ্রতিস্থাপন ব্যর্থ হওয়া পর্যন্ত পুনরাবৃত্তি করুন

s/(.)(.*) \1.*/ \2/ ইনপুটটিতে উপস্থিত ASCII সেটটিতে প্রথম অক্ষরটি একটি স্থানের সাথে প্রতিস্থাপন করুন এবং ASCII সেটটি সরিয়ে দিন

ta recurse


অ-লোভী মিলগুলি এখানে সত্যই সহায়ক হতে পারে তবে আমি এমন কিছু নিয়ে আসতে সক্ষম হয়েছি যা sedকমপক্ষে 4 বাইট সংরক্ষণের জন্য যথেষ্ট বোকা হয়েছিল: অনলাইনে চেষ্টা করে দেখুন!
নীল

(গরুর কোয়াকটি নির্দেশ করেছে যে আমি কেবল আংশিকভাবে সেডকে বোকা বানিয়ে ফেলতে পেরেছি, কারণ আমি ভুল ক্রমে অভিন্ন চরিত্রগুলি
নীল

4

রুবি , 60 58 55 47 বাইট

->a{[-a]+a.scan(/\S/).sort.map{|x|a[x]=' ';-a}}

এটি অনলাইন চেষ্টা করুন!


আপনি অদলবদল করতে পারেন a-b=[' ']এবং a-bএকটি দ্রুত -2 বাইট জন্য
benj2240

হ্যাঁ, এর জন্য ধন্যবাদ, তবে এখন আমি পদ্ধতির কিছুটা পরিবর্তন করেছি, সুতরাং এটি আর ব্যবহার হয় না।
কিরিল এল।

আমি নতুন পদ্ধতির পছন্দ!
বেনজ 2240

4

আর , 140 100 বাইট

-40 বাইট জিউসেপ্পিকে ধন্যবাদ!

function(x)for(i in any((z=utf8ToInt(x))<33):max(y<-rank(z,,"f"))){z[y==i]=32
cat(intToUtf8(z),"
")}

এটি অনলাইন চেষ্টা করুন!

outerসঠিকভাবে কাজ করার জন্য জিউস্প্পির যাদুবিদ্যার ব্যবহারের সমাধানটি 104 বাইটে দীর্ঘতর। এই উত্তর দ্বারা অনুপ্রাণিত ।

function(x,z=utf8ToInt(x)-32)apply(t(outer(rank(z,,"f"),(2-(min(z)>0)):nchar(x),">=")*z+32),1,intToUtf8)

এটি অনলাইন চেষ্টা করুন!


চরগুলির ভেক্টর হিসাবে ইনপুট নিলে 109 বাইটস
জিউসেপে

1
স্ট্রিং হিসাবে ইনপুট নিচ্ছে 100 বাইট !
জিউসেপে

তবুও, খুব সুন্দর উত্তর; আমার 200 বাইটের বেশি বেলুন করেছিল যেহেতু আমার কথা মনে নেই rank!
জিউসেপে

@ জিউসেপ আমাকে এ সম্পর্কে বলুন - আমি প্রথমে "অর্ডার" দিয়েছিলাম এমন ফলাফলের জন্য যা গলে যাচ্ছিল তবে সঠিক ক্রমে নয়!
জেসি

@ জিউসেপ এবং আপনার পোস্ট দ্বারা অনুপ্রাণিত বাইরের ব্যবহারের আমার প্রচেষ্টা কেবল সমস্ত স্থান সরিয়ে ফেলতে পরিচালিত। টিআইও আমি একটি পৃথক উত্তর হিসাবে পোস্ট করা একটি কাজের বাইরের পদ্ধতির দেখতে পছন্দ করব। এখনও এটিতে কাজ করছে তবে এটি মার্জিত হতে পারে না।
জেসি

3

পাইথন 3 , 71 বাইট

f=lambda a:[*a.strip()]and[a]+f(a.replace(min(a.replace(*" ~"))," ",1))

এটি অনলাইন চেষ্টা করুন!

-4 বাইট ovs ধন্যবাদ


*bool({*a}-{" "})if{*a}-{" "}else[a]
রুটটো

@RootTwo একটি এই নিয়ে আসবে না RecursionError?
ovs

@ রুট টু if/elseশর্টকাটগুলি কিন্তু *boolতা নয়, তাই হ্যাঁ, ওভিওদের মতো পুনরাবৃত্তি বলেছিল
হাইপারনিউটারিনো

অবশ্যই আপনি সঠিক। ত্রুটির কারণে, আমার ফাংশনটি আপনার ফাংশনটিতে কল করে পুনরাবৃত্তি করেছিল যাতে এটি কাজ করার জন্য উপস্থিত হয়।
রুটটো দুই

3

পাইথন 2 , 70 69 66 64 বাইট

def f(s):print s;S=set(s)-{' '};S and f(s.replace(min(S),' ',1))

এটি অনলাইন চেষ্টা করুন!

এর পরিবর্তে ব্যবহারের মাধ্যমে ovs থেকে 2 বাইটের জন্য ThxS and f()if S:f()


আপনি ...If there is a tie, replace the leftmost character...নিয়মটি মিস করছেন , আপনি এটি দিয়ে ঠিক করতে পারেনreplace(min(...),' ',1)
রড

@ রড: আহ! বুঝেছি ...
চ্যাস ব্রাউন

3

জেলি , 8 বাইট

ẋ"ỤỤ$z⁶Q

এটি অনলাইন চেষ্টা করুন!

ধারণা

মৌলিক ধারণাটি হ'ল স্ট্রিংয়ের হস্তক্ষেপের পরিবর্তে এবং সমস্ত মধ্যবর্তী ফলাফলগুলি ফিরিয়ে দেওয়ার পরিবর্তে পছন্দসই আউটপুটটির কলামগুলি সরাসরি তৈরি করা।

আমরা ইনপুট স্ট্রিংয়ের অক্ষরগুলি যে ক্রমগুলি সরিয়ে ফেলা হবে সেগুলি গণ্য করে শুরু করি। এই মুহুর্তের জন্য, আমরা ভান করব স্থানগুলিও সরানো হবে।

tee ay oh
845139276

এখন, আমরা প্রত্যেকটি অক্ষরকে এই সূচক অনুসারে এর সূচক দ্বারা পুনরাবৃত্তি করে কলামগুলি তৈরি করি।

tee ay oh
tee ay oh
tee ay oh
tee  y oh
t e  y oh
t    y oh
t    y o 
t    y   
     y   

অবশিষ্ট সমস্তটি হ'ল ডুপ্লিকেটগুলি সরিয়ে ফেলা, স্থানগুলির জন্য অ্যাকাউন্টে।

কোড

ẋ"ỤỤ$z⁶Q  Main link. Argument: s (string)

    $     Combine the two links to the left into a chain.
  Ụ       Grade up; sort the indices of s by their corresponding values.
          Let's call the result J.
          Grade up again, sorting the indices of J by the corr. values in J.
          This enumerates the positions of s as described before.
ẋ"        Repeat each character of s that many times.
     z⁶   Zip the resulting 2D array, filling missing characters with spaces.
       Q  Unique; deduplicate the array of rows.

3

পার্ল 5 -n , 37 34 বাইট

@ টনহসপেলের সাহায্যে তিনটি বাইট বাদ দেওয়া হয়েছে

say&&s/\Q$a/ / while($a)=sort/\S/g

এটি অনলাইন চেষ্টা করুন!


আহ, খুব সুন্দর, খুব সুন্দর পদ্ধতির! আমি মনে করি আপনার \Qশেষ পরীক্ষার মামলার দরকার আছে .... আমি প্রথমবারের মতোও মিস করেছি!
ডোম হেস্টিংস

তুমি ঠিক বলছো. এটি যুক্ত।
এক্সকালি

অপেক্ষাকৃত ছোট: say&&s/\Q$a/ / while($a)=sort/\S/g। এছাড়াও সঠিকভাবে পরিচালনা করে0
টন হসপেল

3

জাভাস্ক্রিপ্ট, 67 66 65 বাইট

কারণ আমি কিছুক্ষণের মধ্যে মাতাল হই নি!

s=>[...t=s].sort().map(x=>x>` `?t+=`
${s=s.replace(x,` `)}`:0)&&t

এটি অনলাইনে চেষ্টা করুন

বিয়ার অন্তর্ভুক্ত 4 রিলন্ডান্ট বাইটগুলি নির্দেশ করার জন্য ড্যানিয়েলইন্ডিকে ধন্যবাদ!


আপনি মানচিত্রে y উল্লেখ করবেন কেন? : পি এটি 67 তৈরি করা যায়
ড্যানিয়েল ইন্ডি

পছন্দ করুন : ডি এটি দেখানোর জন্য ধন্যবাদ।
শেগি

হ্যাঁ, আমি ভেবেছিলাম সেটাই হবে: পি
ড্যানিয়েলইন্ডি

3

সুন্দর! আমার কে প্রয়াসটি 41 এ এসেছিল: `{। [X; (- 1 + # x) & x? _Ci & / _ আইসি এক্স _ডিভি" ";:;" "]}` আমি ইনট এবং পেছনে রূপান্তরিত বাইটগুলি নষ্ট করছি নিশ্চিত যে এটি সীমার বাইরে যায় না।
অরিগা

@uryga ধন্যবাদ আমি যদি অনুমানগুলি যথাযথভাবে প্রয়োগ করতাম তবে {@[x;y;:;" "]}হতে পারতাম @[;;:;" "]। আপনি কে এর কোন সংস্করণ ব্যবহার করবেন? আমি এই সাথে পরিচিত নই: _ci _ic _dv
এনজিএন

আমার মনে হয় এটি ২.৮-ইশ? আমি কোনা ইন্টারপ্রেটারটি ব্যবহার করছি যা অপারেটরগুলিকে বিল্টিন হিসাবে সরবরাহ করে: চার-অফ-ইন, ইন-অফ-চর, ডিলিট-মান।
অরিগা

2

সি # (ভিজ্যুয়াল সি # ইন্টারেক্টিভ সংকলক) , 129 বাইট

var s=ReadLine();while(s.Any(c=>c!=32)){WriteLine(s);var i=s.IndexOf(s.Min(c=>c==32?(char)999:c));s=s.Remove(i,1).Insert(i," ");}

এটি অনলাইন চেষ্টা করুন!


c!=32হতে পারে c>32; c==32হতে পারে c<33; এবং (char)999হতে পারে '¡'(বা মুদ্রণযোগ্য হওয়া ASCII ইউনিকোড পরিসীমা উপরে অন্য কোন চরিত্র)।
কেভিন ক্রুইজসেন

ওহ, এবং আপনি যদি আরো দুটি পরিবর্তন বাইট সংরক্ষণ করতে পারবেন whileকরার forএবং স্থাপন var s=ReadLine()এবং s=s.Remove(i,1).Insert(i," ")(দুই সেমি-কোলন আর প্রয়োজন হয়, তাই) এটা ভিতরে।
কেভিন ক্রুইজসেন

2

পার্ল 5 সঙ্গে -nlF/\s|/, 39 বাইট

@F=sort@F;say,s~\Q$F[$F++]~ ~ while/\S/

এটি পার্লের পতাকাগুলির সীমানাটি চাপছে কারণ এটি গণনা করা হচ্ছে না, যদি তাই হয় তবে আমি পূর্ববর্তী উত্তরে ফিরে যাব।

এটি অনলাইন চেষ্টা করুন!



2

হাস্কেল , 67 বাইট

লাইকোনিকে ধন্যবাদ 12 টি বাইট

f s|(a,_:b)<-span(/=minimum(id=<<words s))s=putStrLn s>>f(a++' ':b)

এটি অনলাইন চেষ্টা করুন!

এটি একটি ত্রুটিতে শেষ হয়

হাস্কেল , 83 79 বাইট

g(a,_:b)=a++' ':b
mapM_ putStrLn.(iterate$g.(span=<<(/=).minimum.concat.words))

এটি অনলাইন চেষ্টা করুন!

এটি একটি ত্রুটিতে শেষ হয়

হাস্কেল , 86 বাইট

u=concat.words
g(a,_:b)=a++' ':b
(take.length.u)<*>(iterate$g.(span=<<(/=).minimum.u))

এটি অনলাইন চেষ্টা করুন!

হাস্কেল , 100 91 88 বাইট

u=concat.words
f x|(a,_:b)<-span(/=minimum(u x))x=a++' ':b
(take.length.u)<*>(iterate f)

এটি অনলাইন চেষ্টা করুন!


67 বাইট: f s|(a,_:b)<-span(/=minimum(id=<<words s))s=putStrLn s>>f(a++' ':b) এটি অনলাইনে চেষ্টা করুন!
লাইকোনি

@ লাইকনি ধন্যবাদ! আমি ঠিক এমন কিছুর দ্বারপ্রান্তে ছিলাম এবং আমি ঘুমিয়ে পড়লাম। তবে আমি মনে করি না যে আমি এটি id=<<বেশ
Wheat Wizard


2

কে 4 , 28 20 18 বাইট

সমাধান:

?x{x[y]:" ";x}\<x:

উদাহরণ:

q)k)?x{x[y]:" ";x}\<x:"PPCG is da BEST"
"PPCG is da BEST"
"PPCG is da  EST"
"PP G is da  EST"
"PP G is da   ST"
"PP   is da   ST"
" P   is da   ST"
"     is da   ST"
"     is da    T"
"     is da     "
"     is d      "
"     is        "
"      s        "
"               "

ব্যাখ্যা:

এটি এনজিএন যেভাবে করছে তা একই জিনিস । এমন একটি সূচকগুলি সন্ধান করুন যা একটি আরোহণের তালিকার ফলস্বরূপ হবে, সেগুলি একে একে একে ওভাররাইট করুন " ", তারপরে যেকোন সদৃশ লাইনগুলি সরিয়ে আলাদা করুন:

?x{x[y]:" ";x}\<x: / the solution
                x: / save input as x
               <   / return indices that would result in ascending sort
 x{        ; }\    / two-line lambda with scan
        " "        / whitespace
       :           / assignment
   x[y]            / x at index y
            x      / return x
?                  / distinct

2

জিসিসি 32-বিট, 66 65 বাইট

char*p,i;f(a){for(i=32;i++;)for(p=a;*p;)*p==i?puts(a),*p=32:++p;}
main(){char s[]="3.1415926";f(s);}

-1 বাইটের জন্য জোনাথন ফ্রেচের জন্য ধন্যবাদ


*p==i?...:0;সম্ভবত হতে পারে *p-i?0:...;
জোনাথন ফ্রেচ

@ জোনাথনফ্রেচ না, এটি 1 বাইট দীর্ঘ (যদিও *p-1||(...)একই দৈর্ঘ্য)
l4m2

দুঃখিত, কমা প্রকাশটি একসাথে রাখার গুরুত্ব স্বীকৃতি দেয় নি। তবে এটি 65 বাইট হতে পারে । আমি কীভাবে f(a)সংকলন করতে পারি তাও জানি না , যেমনটি aটাইপ হওয়া উচিত char*তবে আমি ধরে নিই যে আপনার 32-বিট জিসিসি ব্যবহারের সাথে কিছু আছে।
জনাথন ফ্রেচ

@ জোনাথনফ্রেচ আমি char*p,i;f(long long a){for(i=31;++i;)for(p=a;*p;)*p==i?puts(a),*p=32:++p;}f(a)
টিও

আমি দুঃখিত, যদিও আমি ওপিকে চ্যালেঞ্জের নির্দিষ্টকরণের বিষয়ে জিজ্ঞাসা করেছি এবং তারা বলেছে যে ইনপুট স্ট্রিংটি কোনও স্থান দিয়ে শুরু হতে পারে। সুতরাং আমার প্রস্তাবিত সমাধানটি অবৈধ (যেমন একটি সীমাহীন লুপের ইনপুট ফলাফল) এবং আপনার সম্ভবত সম্ভবত আপনার মূল সমাধানটিতে ফিরে আসা উচিত।
জোনাথন ফ্রেচ

2

ম্যাটল্যাব, 74 বাইট

এটি ক্ষুদ্রতম অক্ষর এবং এর সূচকটি পুনরুদ্ধারে সর্বোচ্চ () ফাংশনের 2-আউটপুট ফর্ম ব্যবহার করে, স্ট্রিংগুলিকে শূন্যস্থানে শূন্য মানগুলিতে এবং মুদ্রণযোগ্য অক্ষরের জন্য 256-অক্ষরের মানকে রূপান্তরিত করে।

s=input('s');x=1;while(x);disp(s);[x,y]=max((256-s).*(s~=' '));s(y)=' ';end

1
পিপিসিজিতে আপনাকে স্বাগতম! চমৎকার কাজ!
এজেফারাডে

2

কমন লিস্প , 240 228 224 বাইট

(setf s(read))(defun f(x)(setf y(char-code(elt s x)))(if(= y 32)1e9 y))(loop for _ across s do(print s)do(setf s(replace s" ":start1(position(code-char(reduce #'min (loop for i from 0 below(length s)collect i):key #'f))s))))

এটি অনলাইন চেষ্টা করুন!

এটা আমার প্রথম সময় পোস্টিং হয়।
আমি লিস্প শেখার প্রক্রিয়াতে রয়েছি তাই আমি নিশ্চিত যে এর চেয়ে আরও ছোট কিছু সম্পর্কে কেউ ভাবতে পারে।


1
সাইটে স্বাগতম! কিছু সাধারণ লিস্প দেখতে ভাল!
গম উইজার্ড

1

এপিএল (ডায়ালগ ইউনিকোড) , 39 বাইট এসবিসিএস

{⎕←⍵⋄×≢⍵∩g' '~⍨⎕UCS256:∇' '@(⊃g⍋⍵)⊢⍵}

এটি অনলাইন চেষ্টা করুন!

Dfn।

কিভাবে?

{⎕←⍵⋄×≢⍵∩g' '~⍨⎕UCS256:∇' '@(⊃g⍋⍵)⊢⍵}  Main function, argument 
 ⎕←⍵⋄                                     Print 
         g' '~⍨⎕UCS256                  Assign to g every Unicode character except space
     ×≢⍵∩                :                If ⍵∩g is not empty
                                         Recursively call the function with argument:
                           ' '@          Space at
                               (⊃g⍋⍵)     The first (⊃) element in  graded up (⍋) with g
                                          The dyadic grade up function will index  according
                                          to its left argument, in this case g.


1

পাওয়ারশেল , 103 99 বাইট

param($a)2..$a.length|%{($x=$a);[regex]$p=""+([char[]]$a-ne' '|sort)[0];$a=($p.replace($x," ", 1))}

এটি অনলাইন চেষ্টা করুন!

স্ট্রিং হিসাবে ইনপুট নেয় $a। আমরা তখন থেকে লুপ 2থেকে $a.length(অর্থাত, প্রয়োজনীয় উল্লম্ব সময়ের উপযুক্ত সংখ্যা সব কিন্তু একটি অক্ষর মুছে ফেলার জন্য)। প্রতিটি পুনরাবৃত্তি, আমরা বর্তমান স্ট্রিং আউটপুট এবং $xএকই সময়ে সুবিধাজনকভাবে সংরক্ষণ করা । আমরা তখন একটি নতুন গঠন করা [regex], বস্তুর $pঅবশিষ্ট অক্ষরের attern গঠিত মধ্যে $aযে -nOT eস্থান, এর গণদেবতা sortইডি, তারপর 0তম এক উহার।

আমরা তখন সেট $aসঙ্গে Regex বস্তুর একটি নতুন স্ট্রিং সমান .Replaceপদ্ধতি স্ট্রিং প্রতিস্থাপন করতে $x, $pএকটি স্পেস দিয়ে, attern " ", কিন্তু শুধুমাত্র 1St ম্যাচ। হ্যাঁ, এই বাক্য গঠনটি অদ্ভুত।

পাইপলাইনে স্ট্রিংগুলি ফেলে রাখা হয়েছে এবং অন্তর্নিহিত Write-Outputআমাদের বিনামূল্যে তাদের জন্য একটি নতুন লাইন দেয়, সাথে সাথে একটি ট্রেলিং করা নতুন লাইন।




1

এমএটিএল , 17 16 বাইট

tSXz"tOy@=f1)(]x

এটি অনলাইন চেষ্টা করুন! বা সমস্ত পরীক্ষার কেস যাচাই করুন

ব্যাখ্যা

t       % Implicit input. Duplicate
S       % Sort
Xz      % Remove spaces
"       % For each char in that string
  t     %   Duplicate last result. This is the most recent string obtained
        %   from replacing chars by spaces in the input
  O     %   Push 0
  y     %   Duplicate from below
  @     %   Push current char
  =     %   Equals? (element-wise) Gives 1 for occurrences of current char
        %   in the most recent string, 0 otherwise
  f     %   Indices of nonzeros
  1)    %   Get the first entry
  (     %   Write 0 at that position. Char 0 will be displayed as space
]       % End
x       % Delete last result, which consists only of space / char zero

1

এক্সেল ভিবিএ, 167 বাইট

একটি বেনামে VBE তাত্ক্ষণিক উইন্ডো ফাংশন যা VBE তাত্ক্ষণিক উইন্ডোতে পরিসীমা [A1]এবং আউটপুটগুলি থেকে ইনপুট নেয় ।

s="Code(Mid(A$1,Row(),1))":[B1].Resize([Len(A1)])="=If("&s &"=32,1E3,"&s &")":For i=1To[Len(A1)-CountIf(B:B,1E3)]:?[A1]:[A1]=[Substitute(A1,Char(Min(B:B))," ",1)]:Next

অবহেলিত এবং মন্তব্য করা হয়েছে

''  run as `call icicle("Test")` or `icicle"I am the WALRUS`
Sub icicle(Optional str As String)
    If Not IsMissing(str) Then [A1] = str   ''  pipe input
    [B:B].Clear                             ''  reset between runs
    [B1].Resize([Len(A1)]) = "=If(Code(Mid(A$1,Row(),1))=32,1E3,Code(Mid(A$1,Row(),1)))"  ''  get char number for every char in input
    For i = 1 To [Len(A1)-CountIf(B:B,1E3)] ''  iterate across from 1 to length of input - number of spaces
        Debug.Print [A1]                    ''  output a single line
        [A1]=[Substitute(A1,Char(Min(B:B))," ",1)]  ''  replace minimum char with space
    Next
End Sub

1

জাপট , 32 18 বাইট

শেগিকে ধন্যবাদ 14 বাইট!

rS ¬£=hSUbZn gYÃiN

এটি অনলাইন চেষ্টা করুন!


লাইনের একটি অ্যারে ফিরিয়ে একটি বাইট সংরক্ষণ করুন: ethproductions.github.io/japt/…
শেগি

22 বাইট । আমার জেএস সমাধানের একটি বন্দর শীঘ্রই চেষ্টা করবে, দেখুন কীভাবে এটি কার্যকর হয়।
শেগি

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.