বর্ণানুক্রমিক ক্রমে বাক্য প্রদর্শন করুন


14

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

নমুনা ইনপুট:

Johnny walked the dog to the park.

নমুনা আউটপুট

aaddeeeghhhJklnnoooprtttwy

নিয়মাবলী:

• যেকোনো ভাষা

Or সংক্ষিপ্ততম কোড জয়ী।


5
আপার / লোয়ার কেস চিঠিগুলি কীভাবে বাছাই করবেন? নিম্নের আগে উপরের, তদ্বিপরীত বা ইনপুট সহ স্থিতিশীল?
হাওয়ার্ড

বেসিক ল্যাটিন বর্ণমালার ("ইংরেজি বর্ণমালা") এর বাইরে কি কোনও অক্ষর হ্যান্ডেল করা দরকার?
সেবাস্তিয়ান নেগ্রাসজাস

3
শিরোনাম থেকে, আমি আশা করছিলাম যে "বর্ণানুক্রমিক ক্রমে বাক্যটি" প্রদর্শন করে আমি পালাতে পারব। বা "সেনেস্ট" (ঠিক আছে, "দর্শনার্থী", যদি আপনি সঠিক মূলধন এবং ASCII আদেশের উপর জোর দেন।)
কেশলাম

আপনি যখন Spaces and symbols can be ignored or deleted, তার মানে অবশ্যই অবহেলা করা উচিত ; বা আউটপুট যেমন , .aaddeeeffঅনুমোদিত?
20:38

4
kআউটপুটটিতে 2 টি থাকা উচিত নয় ?
হাইপার নিউট্রিনো

উত্তর:


1

ম্যাথগল্ফ , 2 বাইট

áδ

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

উদাহরণ আউটপুট

      .aaddeeeghhhJkklnnoooprtttwy

বর্ণমালাবিহীন অক্ষরগুলি সরানো হচ্ছে

সমস্ত বর্ণমালার অক্ষর অপসারণ করতে, এই সমাধানটি কাজ করে:

áδgÆ∞_δ¡

এটি উপরের কোডের মতোই, এর পরে একটি ফিল্টারিং যেখানে প্রতিটি অক্ষর প্রথমে দ্বিগুণ হয় এবং তারপরে তার নিজস্ব মূলধন তুলনা করে। উদাহরণস্বরূপ, স্ট্রিংটি "a"রূপান্তরিত হয় "aa"এবং তারপরে মূলধন হয়ে যায় "Aa"যা সমান নয় "aa"। একইভাবে, স্ট্রিংটি "B"রূপান্তরিত হয় "BB"এবং এতে মূলধন হয় "Bb", যা এর সমান নয় "BB"। তবে, "."রূপান্তরিত হয় ".."এবং মূলধন হয়ে গেলে অপরিবর্তিত থাকে, সুতরাং এটি ফিল্টার হয়ে যাবে।

ব্যাখ্যা

ম্যাথগল্ফে আমার সত্যিই আরও স্ট্রিং হ্যান্ডলিং দরকার ... এই মুহূর্তে ছোট ছোট / বড় হাতের কাছে রূপান্তর করার জন্য কোনও অপারেটরও নেই। কেবলমাত্র আমি ব্যবহার করতে পারি মূলধন অপারেটর, যা দৈর্ঘ্যের স্ট্রিংয়ের জন্য বড় হাতের চালকের মতো কাজ করে This এই সমাধানটি অ বর্ণানুক্রমিক অক্ষরগুলিও সাজায়, তবে সেগুলি উপেক্ষা করা যেতে পারে। বর্ণানুক্রমিক অক্ষরগুলি তাদের কেস সংরক্ষণ করে এবং সঠিক ক্রমে আউটপুট হয়।

á    sort by comparator
 δ   capitalize string

12

গল্ফস্ক্রিপ্ট, 24/6 টি অক্ষর

{26,{65+.32+}%?)},{31&}$

উদাহরণ:

> Johnny walked the dog to the park.
aaddeeeghhhJkklnnoooprtttwy  

যদি ইনপুট প্রিন্টযোগ্য আস্কিতে সীমাবদ্ধ থাকে তবে {95&.64>\91<&},ফিল্টার হিসাবে কোডটি তিনটি অক্ষর দ্বারা সংক্ষিপ্ত করা যেতে পারে ।

এখানে পরীক্ষা করা যায়

উপেক্ষা করা যায় সংস্করণটি আরও ছোট (6 টি অক্ষর):

{31&}$

এবং ফলন দেয়

> Johnny walked the dog to the park.
      aaddeeeghhhJkkl.nnoooprtttwy

এবং যদি "বর্ণমালা" মানে "ASCII অর্ডার ঠিক আছে, বোঝা যায় তবে তা কেবল হ্রাস করা যেতে পারে{}$
ম্যাককে

@ এমসকেএ প্রশ্নটি স্পষ্ট করে আলাদাভাবে বলেছে। এবং {}$সমতুল্য হবে $
হাওয়ার্ড

ও আচ্ছা. ধন্যবাদ, আমি গল্ফস্ক্রিপ্ট শিখতে চেষ্টা করছি
ম্যাককে

8

জিএনইউ মূল ব্যবহারগুলি - 25 টি অক্ষর (29 টি প্রতীকের চিহ্ন)

fold -1|sort -f|tr -d \\n

উদাহরণ (জিএনইউ বাশ 3 থেকে):

$ echo "Johnny walked the dog to the park."|fold -1|sort -f|tr -d \\n
      .aaddeeeghhhJkklnnoooprtttwy   <<no trailing newline>>

প্রশ্ন থেকে:

শূন্যস্থানের এবং চিহ্ন পারেন উপেক্ষিত বা মুছে ফেলা হতে

আমি তাদের ছেড়ে যেতে বেছে নিয়েছি! শুধুমাত্র বর্ণমালা বজায় রাখতে, প্রতিস্থাপন fold -1সঙ্গে grep -o \\w+4 অক্ষরের জন্য।

grep -o \\w|sort -f|tr -d \\n

grep -oওভার সুপারিশ করার জন্য ফায়ারফ্লাই sedএবং ভুম্পাসকে ধন্যবাদ জানাই fold -1। ;-)


এটি বর্ণানুক্রমিক ক্রম নয়, বড় হাতের জে এখনও অন্য ছোট হাতের অক্ষরের সাথে বর্ণমালা অনুসারে বাছাই করা উচিত।
aks।

ওহ ভাল পয়েন্ট aks। কেস উপেক্ষা -fকরার sortজন্য আমাকে অবশ্যই (ভাঁজ) যুক্ত করতে হবে।
জোয়েটউইডল

6

সি, 121

এটি অন্যান্য এন্ট্রিগুলির সাথে তুলনায় বেশ দীর্ঘ, তবে এটি কোনও অন্তর্নির্মিত বাছাই বা টোলওয়ার ফাংশনের উপর নির্ভর করে না:

j;main(k){char s[99],*p=s;gets(s);while(*p){j=p-s-1;k=*p++;while(j>=0&&(s[j]|32)>(k|32))s[j+1]=s[j--];s[j+1]=k;}puts(s);}

আরও পঠনযোগ্য সংস্করণ:

j; main(k) {
    char s[99], *p=s;
    gets(s);
    while(*p) {
        j = p-s-1;
        k = *p++;
        while(j >= 0 && (s[j]|32) > (k|32))
            s[j+1] = s[j--];
        s[j+1] = k;
    }
    puts(s);
}

এটি উপাদানগুলির মধ্যে কেস-সংবেদনশীল তুলনা ( |32বিটওয়াইজ অপারেশন ব্যবহার করে ) সন্নিবেশ সাজানোর একটি বাস্তবায়ন । এটি কারণ ASCII এনকোডিং-এ বড় হাতের অক্ষর এবং ছোট হাতের অক্ষরগুলি কেবল 2 5 বিটের দ্বারা পৃথক হয় ।


5

রুবি - ৩৩ টি চর

$><<gets.chars.sort(&:casecmp)*''

আউটপুট কোডটি কোথায়?
জন ডিভোরাক

*""পরিবর্তে ব্যবহার করে আপনি 2 টি অক্ষর বাঁচাতে পারেন .join
মানবিক কাজ

আপনি ব্যবহার করতে পারেন p, তবে এটি প্রশ্নবিদ্ধ, তাই কেবল ব্যবহার করুন puts। এছাড়াও, এআরজিএফ$<
শেলভাকু

@ মান্যাটওয়ার্ক সম্পাদিত ...
শিভা

পৃথকীকরণ স্থানটি সরানো যেতে পারে $><<পরিবর্তে আপনি ব্যবহার করে 1 টি অক্ষর বাঁচাতে putsপারেন।
manatwork

5

পাওয়ারশেল: 39

$([string[]][char[]](Read-Host)|sort)" #With spaces and symbols

ফলাফল

  .aaddeeeghhhJkklnnoooprtttwy

সি #: 100

Console.Write(new string(input.ToCharArray().OrderBy(a=>char.ToLower(a)).ToArray()).Trim('.',' '));

ফলাফল

aaddeeeghhhJkklnnoooprtttwy

এটি প্রশ্নের দ্বারা প্রয়োজনীয় কোনও প্রোগ্রাম নয় ।
হাওয়ার্ড

আপনার দরকার নেই ToCharArray; Stringপ্রয়োগসমূহIEnumerable<char>
রিক

@ হোওয়ার্ড তাই স্ক্রিপ্টগুলি কি কোনও প্রোগ্রাম হিসাবে গণনা করা যায়?
রাল্ফ ডি ক্লেইন

1
আপনার প্রতীক-বাদ দেওয়া সমাধানগুলি কেবলমাত্র নমুনা ইনপুটটির জন্য কাজ করে। এই ইনপুটটি কেবলমাত্র একটি নমুনা ছিল (আসল ইনপুটটিতে অন্যান্য চিহ্নগুলিও অন্তর্ভুক্ত থাকতে পারে)।
স্যান্ডার

1
@ র‌্যাল্ফডি ক্লেইন দুঃখিত, আমি এই সম্পর্কে ভুল উচ্চারণ করছি sal, আমি মনে করি না আপনি এটি ব্যবহার করতে পারবেন। তবে, আপনি ভেরিয়েবল অ্যাসাইনমেন্ট থেকে মুক্তি পেতে পারেন "$([string[]][char[]](Read-Host)|sort)"
ক্রিস হার্পার

4

পার্ল 6: 26 টি অক্ষর

প্রথমে আউটপুট বড় আকারের সাজান, তারপরে ছোট হাতের অক্ষর, প্রতীকগুলি / সাদা স্থান মুছে দেয়

say [~] sort comb /\w/,get

যদি আউটপুটে সাদা স্থান / প্রতীকগুলিও এড়ানো যায় তবে এটি কেবল 21 টি অক্ষর।

say [~] get.comb.sort

এগুলি কেস-সংবেদনশীলভাবে সাজায়, প্রতীক রাখে (২ 26 টি অক্ষর)

say [~] get.comb.sort: &lc

এটি কেস-সংবেদনশীলভাবে বাছাই করতে হবে তবে এটি পছন্দ হলে সাদা স্থান এবং চিহ্নগুলিকে উপেক্ষা করতে পারে।
টিমটেক


3

পার্ল 34

এখন থেকে ইনপুট লাগে STDIN

print sort{lc$a cmp lc$b}<>=~/\w/g

পার্ল 18

যদি প্রথমে মূলধন এবং অন্তর্ভুক্ত চিহ্নগুলি সহ আউটপুট গ্রহণযোগ্য হয়:

print sort<>=~/./g

আমার সন্দেহ হয় আপনি সেমিডলাইন থেকে পাওয়ার পরিবর্তে ইনপুট (বর্ণনানুযায়ী) স্ট্রিংটি আরও ছোট করে তুলতে পারবেন।
ব্রেডবক্স 22'14

ওহ ঠিক আছে তুমি!
ডম হেস্টিংস

2

পাইথন 3: 45

print(''.join(sorted(input(),key=str.lower)))

আমি পাইথনে নেই তবে আপনার কোডটি কি পিরিয়ডের মধ্যে স্পেসগুলি সরিয়ে ফেলবে?
রাল্ফ ডি ক্লেইন

না, তবে "স্পেস এবং চিহ্নগুলি এড়ানো বা মুছতে পারে", তাই আমি কেবল এগুলি উপেক্ষা করছি!
evuez

আহ পড়া কঠিন;)
রাল্ফ ডি ক্লেইন


2

হাস্কেল, 88

import Data.List
import Data.Char
import Data.Ord
main=interact$sortBy$comparing toLower

(38 টি স্ট্যান্ডার্ড lib থেকে আমদানি ছাড়াই)


2

কে ( 10 9)

স্টিডিনের কাছ থেকে পড়ে

x@<_x:0:0

উদাহরণ

x@<_x:0:0
Johhny walked the dog to the park.
"      .aaddeeeghhhhJkklnoooprtttwy"

2

সি #: 83

Console.Write(new string(Console.ReadLine().OrderBy(i=>i+"".ToLower()).ToArray()));

আপডেট: 65

লিনকিউপ্যাডে এক্সিকিউটেবল

new string(Console.ReadLine().OrderBy(i=>i+"").ToArray()).Dump();

1
আপনি ডাম্পটি সরাতে এবং এটি লিঙ্কপ্যাডের এক্সপ্রেশন মোডে চালিত অবস্থায় রাখতে পারেন :)
জ্যাকব

1

জে, 12 টি অক্ষর

(/:32|a.i.])

কোনও অ-আলফা অক্ষর উপেক্ষা করে।


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

@ জনডভোরাক ঠিক আছে, একটি ফাংশন গণনা করা হবে - f=., বা আপনি আমাকে যুক্ত করতে চান 1!:1[1?
গ্যারেথ

1!:1[1এবং echoদয়া করে
জন ডিভোরাক

@ জনডভোরাক আপনি কেন চাইবেন echo?
গ্যারেথ

স্ক্রিপ্ট ফাইল চালানোর সময় জে ইন্টারপ্রেটার স্বয়ংক্রিয়ভাবে সর্বশেষ অভিব্যক্তির ফলাফল আউটপুট দেয়? বা, আপনি এটি চালাবেন কিভাবে?
জন ডিভোরাক

1

জাভাস্ক্রিপ্ট - 74

দুর্ভাগ্যক্রমে, জেএস যেভাবে অক্ষর বাছাই করে তার কারণে আমরা স্ট্যান্ডার্ড বাছাইয়ের ফাংশনটি ব্যবহার করতে পারি না:

prompt().split("").sort(function(a,b){return a.localeCompare(b)}).join("")

আসলে এটি সংক্ষিপ্ত করা যেতে পারে:

prompt().split("").sort((a,b)=>a.localeCompare(b)).join("")

1

এফ # ( 68 56)

আমি F # শিখছি তাই আমি নিশ্চিত যে এটি আরও কম হতে পারে:

let f s=s|>Seq.sortBy Char.ToLower|>Seq.iter(printf"%c")

আউটপুট:

> f "Johnny walked the dog to the park."
        .aaddeeeghhhJkklnnoooprtttwy 

1

পিএইচপি, 50 বাইট

$a=str_split($argn);natcasesort($a);echo join($a);

অক্ষরগুলি অপসারণ করে না, এসটিডিআইএন থেকে ইনপুট নেয়; সাথে চালানো -R


0

আর, 48 টি অক্ষর

cat(sort(unlist(strsplit(scan(,""),""))),sep="")

ব্যবহারের উদাহরণ:

> cat(sort(unlist(strsplit(scan(,""),""))),sep="")
1: Johnny walked the dog to the park.
8: 
Read 7 items
.aaddeeeghhhJkklnnoooprtttwy

0

কিউ / কে 4 (3? 5? 8?)

যদি এটি আরপিএলে সরাসরি কোড এবং ইনপুট প্রবেশ করানো যথেষ্ট হয় তবে এটি ঠিক asc:

q)asc"Johnny walked the dog to the park."
`s#"      .Jaaddeeeghhhkklnnoooprtttwy"

`s#হয় কুই স্বরলিপি বিট যে ইঙ্গিত করে যে স্ট্রিং সাজানো অনুক্রম হল (বাইনারি অনুসন্ধান হতে পারে, ইত্যাদি)। যদি এটি যেতে হয়, এটির জন্য দুটি অক্ষর ব্যয় হয়, পাঁচটি করে:

q)`#asc"Johnny walked the dog to the park."
"      .Jaaddeeeghhhkklnnoooprtttwy"

যদি আপনি এটি স্টিনে সরবরাহ করতে চান তবে কে -4 এ স্যুইচ করার সময় এসেছে (এবং আমরা `s#বিনামূল্যেই এটি থেকে মুক্তি পাব ), এবং এটি একটি আট-চরিত্রের সমাধান:

  x@<x:0:0
Johnny walked the dog to the park.
"      .Jaaddeeeghhhkklnnoooprtttwy"

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

$ cat asc.k
x@<x:0:0
$ q asc.k<<<'Johnny walked the dog to the park.'
"\n      .Jaaddeeeghhhkklnnoooprtttwy"
$ 

আউটপুটে সেই অতিরিক্ত নতুন লাইনটি কোথা থেকে আসছে তা আসলে নিশ্চিত নয় ...


0

জেলি, 3 বাইট

ŒlÞ

এই সাইটে আমার প্রথম জেলি সমাধান! জেলি এবং @ ডেনিসকে এটি তৈরির জন্য কীভাবে ব্যবহার করতে হয় তা শেখানোর জন্য @ লিকিউন এবং @ এরিক ওউটগলফারকে ধন্যবাদ! : ডি

ব্যাখ্যা

ŒlÞ
  Þ Sort using the function to its left
Œl  Converts to lowercase (because it's sort alphabetically, not by codepoint)

বিকল্পভাবে, ŒuÞপরিবর্তে বড়হাতে রূপান্তর করা ছাড়া ঠিক একই জিনিসটি করে।


0

জাভা 10, 72 বাইট (ল্যাম্বদা ফাংশন হিসাবে)

s->{for(int i=64;++i<91;)for(var c:s)if((c&~32)==i)System.out.print(c);}

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

তবে যেহেতু এটি পুরো প্রোগ্রামটি উল্লেখ করে এটি একটি পুরানো চ্যালেঞ্জ:

জাভা 10, 126 বাইট (সম্পূর্ণ প্রোগ্রাম হিসাবে)

interface M{static void main(String[]a){for(int i=64;++i<91;)for(var c:a[0].toCharArray())if((c&~32)==i)System.out.print(c);}}

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

ব্যাখ্যা:

interface M{                        // Class
  static void main(String[]a){      //  Mandatory main method
    for(int i=64;++i<91;)           //   Loop over the uppercase alphabet
      for(var c:a[0].toCharArray()) //    Inner loop over the characters of the input
        if((c&~32)                  //     If the current character converted to uppercase,
                  ==i)              //     equals the current letter of the alphabet
          System.out.print(c);}}    //      Print the character of the input-loop

0

05 এ বি 1 , 3 2 বাইট

Σl

অক্ষরবিহীন অক্ষরগুলিকে উপেক্ষা করে, তাই কিছু নেতৃত্ব দিচ্ছে এবং কিছু অনুশীলন করছে।

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

একটি সংস্করণ যা অক্ষরবিহীন অক্ষরগুলি সরিয়ে দেয় পরিবর্তে 3 বাইট :

áΣl

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

ব্যাখ্যা:

á    # Optional: only leave the letters ([a-zA-Z]) of the (implicit) input-string
 Σ   # Sort the characters in the string by (sorted by their ASCII unicode value):
  l  #  Their lowercase equivalent (in case of the letters)
     # (And output the result implicitly)

0

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

-join($args-split'\W|(.)'-ne''|sort)

পরীক্ষার স্ক্রিপ্ট:

$f = {

-join($args-split'\W|(.)'-ne''|sort)

}

@(
    ,("Johnny walked the dog to the park.", "aaddeeeghhhJkklnnoooprtttwy")
) | % {
    $s,$expected = $_
    $result = &$f $s
    "$("$result"-eq"$expected"): $result"
}

আউটপুট:

True: aaddeeeghhhJkklnnoooprtttwy

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