বর্ণমালা এবং সংখ্যা পৃথক করুন


15

পাঠ্যের একটি অনুচ্ছেদে সংখ্যা এবং বর্ণমালা বর্ণ মিশ্রিত রয়েছে। আপনার কাজটি হ'ল প্রতিটি লাইনের একই ক্রমে ডানদিকে বাম দিকে বর্ণমালা এবং বর্ণগুলি পৃথক করা।

নিয়মাবলী:

  1. সংখ্যাগুলি সরল পূর্ণসংখ্যা; সুতরাং কোনও দশমিক বিন্দু, এবং কোনও নেতিবাচক / ইতিবাচক চিহ্ন নেই।
  2. নম্বরগুলি সংগত বা নাও হতে পারে তবে কেস যাই হোক না কেন, তাদের একই ক্রমে বাম দিকে ঠেলে দিতে হবে।
  3. শব্দের মধ্যে নম্বর আসতে পারে।
  4. পাঠ্যটিতে ফাঁকা স্থান, আন্ডারস্কোর, কমা এবং বিন্দুর সাথে কেবলমাত্র ASCII বর্ণমালা এবং সংখ্যা রয়েছে।
  5. যিনি ন্যূনতম কীস্ট্রোকের সাথে এটি করেন (যেমন ভিম ম্যাক্রোস) বা স্ক্রিপ্টিংয়ের ক্ষেত্রে ন্যূনতম পরিমাণ বাইট।

উদাহরণ পাঠ্য:

A word can have any number of text like 433884,
but all the numb89ers has to be moved left side 
but alph6abetical va9lues has to be pas46ted on right side.
The text might con4tain chara29cters s2huffled like hlep or dfeintino or even
meaningless1 words co43mbined togeth81er.

প্রত্যাশিত আউটপুট:

433884A word can have any number of text like ,
89but all the numbers has to be moved left side 
6946but alphabetical values has to be pasted on right side.
4292The text might contain characters shuffled like hlep or dfeintino or even
14381meaningless words combined together.

4
@ সিবিকোডার তখন জাহাজে স্বাগতম! আপনি পরের বার স্যান্ডবক্স ব্যবহার করতে চাইতে পারেন । এটি এখানে কাজ করার আগে এটি চ্যালেঞ্জ পোস্ট করার জন্য ব্যবহৃত হয়। এইভাবে আপনি অন্যান্য ব্যবহারকারীর কাছ থেকে প্রতিক্রিয়া পেতে এবং চ্যালেঞ্জটি উন্নত করতে পারেন
লুইস মেন্ডো

1
ব্যবহার বর্ণমালা গড় থেকে চিঠি , আমি বিশ্বাস করি হয়, ভারতীয় ইংরেজি একটি স্বতন্ত্র।
ট্রিগ

2
@ অ্যাস্ট্রোডান উভয়ই ডিফল্টরূপে অনুমোদিত।
আদনান

2
এখন বেশ পরিষ্কার মনে হচ্ছে। @ নিকট-ভোটার - আপনি কি এখন আপনার ভোট প্রত্যাহার করতে পারবেন বলে মনে করেন?
ডিজিটাল ট্রমা

1
প্রথম পরীক্ষার কেস স্থির করা হয়েছে, কারণ এটি সম্ভবত টাইপের চেয়ে বেশি কিছু ছিল না। আমি এই পোস্টটি আবার খুলতে ভোট দিচ্ছি।
বাসড্রপ কম্বারবুবউবউব

উত্তর:


11

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

O%$`\d|(.)
$#1

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

ব্যাখ্যা

Oএকটি বাছাই পর্যায়ের পরিচয়। %রেটিনাকে প্রতিটি লাইনে রূপান্তরটি আলাদাভাবে প্রয়োগ করতে বলে। $নির্দিষ্ট বিকল্পের ফলাফল অনুসারে ম্যাচগুলি বাছাই করতে বলে।

রেজেক্স নিজেই এটি \d|(.)হয় যা কোনও সংখ্যার সাথে মেলে বা অন্য কোনও কিছু যা গ্রুপে বন্দী 1। এটি প্রতিস্থাপন করা হয় $#1যা গ্রুপ ক্যাপচার সংখ্যা 1। এটি হ'ল, অঙ্কগুলির জন্য 0বাছাই কী এবং সমস্ত কিছুর জন্য বাছাই করা কী 1। যেহেতু রেটিনাতে বাছাই স্থিতিশীল, এটি কেবল অঙ্কগুলি বাম দিকে এবং অন্য সব কিছু ডানে সরিয়ে দেয়।


9

05 এ বি 1 ই, 14 10 বাইট

কোড:

|vyþyyþ-¶J

ব্যাখ্যা:

|                 # push all lines in input as array of strings
 v                # for each line in array
  yþ              # push only digits from line
    yyþ-          # push line without digits
        ¶         # push newline char
         J        # join as string
                  # end loop and print explicitly

উদাহরণ ইনপুট:

একটি শব্দের মধ্যে 433884 এর মতো যে কোনও সংখ্যক পাঠ্য থাকতে পারে,
তবে সমস্ত numb89ers বাম দিকে সরানো যেতে পারে
তবে বর্ণমালা ভ্যাখালুগুলি ডানদিকে পাস করতে হবে।
পাঠ্যটিতে hrap বা dfeintino বা এমনকি
অর্থহীন শব্দের সাথে 43 মেশানো টেজথ 81er এর মতো চারা 29cters এস 2 হুফলে দেওয়া হতে পারে ।

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

433884A শব্দের যেকোন সংখ্যক পাঠ্য থাকতে পারে,
89 তবে সমস্ত সংখ্যা বাম দিকে
সরিয়ে নিয়ে যেতে হবে 46৯4646 তবে বর্ণানুক্রমিক মানগুলি ডানদিকে পেস্ট করতে হবে।
4292 এই পাঠ্যে hlep বা dfeintino বা এমনকি
4381 বিমল শব্দ একসাথে একত্রিত হয়ে এমন অক্ষর থাকতে পারে ।

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


8

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

তিনটি সমমানের সমাধান! আমি বাছাই করতে পারি না।

while 1:print(*sorted(input(),key=lambda x:-x.isdigit()),sep='')
while 1:print(*sorted(input(),key=lambda x:x<'0'or'9'<x),sep='')
while 1:print(*sorted(input(),key=str.isdigit,reverse=1),sep='')

একই দৈর্ঘ্যের আর একটি বৈকল্পিক:while 1:print(*sorted(input(),key=lambda x:-('/'<x<':')),sep='')
বাইট কমান্ডার

5

পার্ল, 17 বাইট

16 বাইট কোড + 1 সুইচ

s/\d/!print$&/ge

প্রয়োজন -p

ব্যবহার

perl -pe 's/\d/!print$&/ge' <<< 'a1b2c3d4e5f6'
123456abcdef

বিকল্পভাবে:

print/\d/g,/\D/g

প্রয়োজন -n

ব্যবহার

perl -ne 'print/\d/g,/\D/g' <<< 'a1b2c3d4e5f6'
123456abcdef

1
গল্ফিংয়ের বিরুদ্ধে এমনকি কোনও গল্ফিংয়ের ভাষা প্রতিযোগিতামূলক হতে পারে তা দেখতে দুর্দান্ত।
জেমস

@ ডিগ্রিগ্রিনএগ্রস এবং হ্যামডিজে আমি আনন্দিত যে আপনি এটি পছন্দ করেছেন! আমি অনেক উত্তর যুক্ত করি না তবে আমি এইটির সমাধানটি বেশ পছন্দ করেছি! এছাড়াও আমি নিশ্চিত যে কিছু লোক পার্লকে গল্ফিংয়ের ভাষা হিসাবে শ্রেণীবদ্ধ করবে, যেহেতু এটি কেবল লেখার হিসাবে বর্ণিত !
ডম হেস্টিংস

5

হুন , 92 83 বাইট

|*
*
(turn (lore +<) |=(@ `tape`(welp (skid (trip +<) |=(@ !=(~ (rush +< nud)))))))

++loreএকটি বহু-লাইন কর্ডকে একটিতে বিভক্ত করে (list cord), (trip +<)এটি একটি টেপে পরিণত করে। ++skidদুটিতে একটি তালিকা পৃথক করে: একদিকে যেখানে ফাংশন হ্যাঁ দেয়, একদিকে যেখানে এটি ফিরে আসে না। আমাদের ফাংশনটি ++nud(সংখ্যাসূচক) দিয়ে অক্ষরটিকে পার্স করার চেষ্টা করে এবং এটি সম্পূর্ণরূপে বিশ্লেষণ করে কিনা তা পরীক্ষা করে দেখুন এবং তারপরে আমরা দুটি তালিকাকে এক টেপে আবার একসাথে ওয়েল্ড করি।

> %.
  '''
  A word can have any number of text like 433884,
  but all the numb89ers has to be moved left side 
  but alph6abetical va9lues has to be pas46ted on right side.
  The text might con4tain chara29cters s2huffled like hlep or dfeintino or even
  meaningless1 words co43mbined togeth81er.
  '''
  |*
  *
  (turn (lore +<) |=(@ `tape`(welp (skid (trip +<) |=(@ !=(~ (rush +< nud)))))))
<<
  "433884A word can have any number of text like ,"
  "89but all the numbers has to be moved left side "
  "6946but alphabetical values has to be pasted on right side."
  "4292The text might contain characters shuffled like hlep or dfeintino or even"
  "14381meaningless words combined together."
>>

1
ঈশ্বর, আমি কখনও হবে না Hoon ভোট দিন। ♥
লিন

4

এমএটিএল , 13 12 বাইট

`jt4Y2m&)hDT

সঠিক আউটপুট উত্পাদন করে একটি ত্রুটি (ডিফল্টরূপে অনুমোদিত) দিয়ে প্রস্থান করে।

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

ব্যাখ্যা

`          T    % infinite loop
 j              % input one line as a string
  t             % duplicate
   4Y2          % predefined literal: '0123456789'
      m         % true for elements of string that are digits, false for the rest
       &)       % two-output indexing: push digits, then non-digits
         h      % concatenate the two strings
          D     % display

4

ভি, 12 বাইট

òí¨Ä©¨ä©/²±
​

ভি, এটি একটি অসম্পূর্ণ, 2 ডি স্ট্রিং ভিত্তিক গল্ফিং ভাষা। যদিও এটি অসম্পূর্ণ, এই প্রোগ্রামটি প্রতিশ্রুতিবদ্ধ 45 হিসাবে কাজ করে যা গত রাতে প্রকাশিত হয়েছিল, এটি একটি প্রতিযোগিতামূলক উত্তর করে। (আমার আগের ভি উত্তরগুলির বেশিরভাগই প্রতিযোগিতামূলক ছিল))

দ্রষ্টব্য, পিছনে থাকা নতুন লাইনটি প্রয়োজনীয়, যদিও এটি বাগের কারণে।

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

ব্যাখ্যা:

ò            #Recursively, do:
 í           #Substitute on every line
  ¨Ä©¨ä©/²±  #The following regex. 

¨Ä©¨ä©/²± ভিআইএম রেজেেক্সে প্রসারিত:

:%s/\(\D\)\(\d\)/\2\1

যা একটি অ-অঙ্কের (\D)পরে একটি অঙ্ক হয় (\d)এবং সেগুলি সরিয়ে দেয়।

যেহেতু এটি স্থূল ইউনিকোড অক্ষর দ্বারা পূর্ণ, তাই এখানে একটি বিপরীতমুখী হেক্সডাম্প রয়েছে:

00000000: f2ed a8c4 a9a8 e4a9 2fb2 b10a            ......../...

4
আমি এই উত্তরটি নিয়ে সত্যিই গর্বিত। ভাষাতে আরও কিছু কাজ করার সাথে এটি সহজেই 4-5 বাইট ছোট হতে পারে তবে আমি যে বৈশিষ্ট্যগুলিতে কাজ করছি তা বাস্তবে কার্যকর হতে পারে তা দেখতে খুব ভাল। এটি একদিন আগে কাজ করবে না। = ডি
জেমস

3

জাভাস্ক্রিপ্ট ES6, 40 বাইট

a=>a.replace(/\D/g,'')+a.replace(/\d/g,'')

আরও বেশ কয়েকটি সমাধানের চেষ্টা করেও এর চেয়ে ছোট এটি পাইনি।
আমার প্রথম চেষ্টা ছিল a=>[...a.match(/\d/g),...a.match(/\D/g)].join``কিন্তু এটি 5 বাইট দীর্ঘ

এখানে চেষ্টা করুন


3

CJam, 9 13 16 বাইট

qN/{{A,s-,}$}%N*

নেই f$...

এই 13 বাইট সংস্করণটি প্রায় কাজ করে:

{l{A,s-,}$N}h

3

পাওয়ারশেল ভি 2+, 55 বাইট

$args[0]-split"`n"|%{($_-replace'\D')+($_-replace'\d')}

মাল্টি-লাইন ইনপুট সমর্থন করার প্রয়োজনের কারণে, আমাদের লুপগুলি এবং নিউলাইনগুলিতে আমাদের -replaceস্টেটমেন্টগুলি -splitসজ্জিত করতে হবে। অন্যথায় মূলত জাভাস্ক্রিপ্ট সমাধানের সমতুল্য ।



3

পাইথ, 16 15 বাইট

1 ফ্রিআমএইচজিমনকে বাইট ধন্যবাদ ।

jms+@J`MTd-dJ.z

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

নমুনা ইনপুট:

A word can have any number of text like 433884,
but all the numb89ers has to be moved left side 
but alph6abetical va9lues has to be pas46ted on right side.
The text might con4tain chara29cters s2huffled like hlep or dfeintino or even
meaningless1 words co43mbined togeth81er.

নমুনা আউটপুট:

433884A word can have any number of text like ,
89but all the numbers has to be moved left side 
6946but alphabetical values has to be pasted on right side.
4292The text might contain characters shuffled like hlep or dfeintino or even
14381meaningless words combined together.

কিভাবে এটা কাজ করে

jms+@J`MTd-dJ.z

 m           .z    for each line (d):
         d           yield d (the line)
     J                 assign J to
        T              [0,1,2,3,...,9]
      `M               with each number converted to string
    @                intersect with J
   +                 append:
          -dJ          filter d for characters not in J
  s                  convert to one string
j                  join by newline

আপনার প্রয়োজন নেই Uকারণ মানচিত্রগুলি স্বয়ংক্রিয়ভাবে ব্যাপ্তিগুলিতে পূর্ণসংখ্যা কাস্ট করে।
FryAmTheEggman

ওহ, মনে করিয়ে দেওয়ার জন্য ধন্যবাদ!
লিকি নুন

2

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

স্থির বুদ্বুদ বাছাই।

%+`(\D)(\d)
$2$1

নমুনা ইনপুট:

A word can have any number of text like 433884,
but all the numb89ers has to be moved left side 
but alph6abetical va9lues has to be pas46ted on right side.
The text might con4tain chara29cters s2huffled like hlep or dfeintino or even
meaningless1 words co43mbined togeth81er.

নমুনা আউটপুট:

433884A word can have any number of text like ,
89but all the numbers has to be moved left side 
6946but alphabetical values has to be pasted on right side.
4292The text might contain characters shuffled like hlep or dfeintino or even
14381meaningless words combined together.

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


1
আপনার কোড আপডেট করুন। শব্দের মধ্যে নম্বর আসতে পারে। আপনার যদি আপডেট হয় তবে ঠিক আছে।
সিবিকোডার

2

সি #, 59 বাইট

I=>Regex.Replace(I,"[^0-9]","")+Regex.Replace(I,@"\d+","");

রেগেক্স ব্যবহার করে একটি সাধারণ সি # ল্যাম্বদা ফাংশন।

নমুনা আউটপুট

433884A word can have any number of text like ,
89but all the numbers has to be moved left side
6946but alphabetical values has to be pasted on right side.
4292The text might contain characters shuffled like hlep or dfeintino or even
14381meaningless words combined together.

2

সি # (লাইনকিউ), ১১০ বাইট

s=>string.join("",s.Where(c=>"0123456789".Contains(c).Concat(s.SelectMany(c=>new[]{c}.Except("0123456789"))));

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


অনুরূপ তবে কিছুটা ছোট
মার্ক

@ মার্ক বাহ, আমি এই ভাষাটি 5 বছর ধরে ব্যবহার করছি এবং আমার char.IsDigitঅস্তিত্ব জানা ছিল না ...
নিক মার্টিন

2

ফ্যাক্টর 61

[ "\n"split [ [ digit? ] partition [ write ] bi@ nl ] each ]

এটি একটি নির্বোধ পন্থা।

"\n"splitস্ট্যাকের উপরে স্ট্রিংগুলিকে লাইনে বিভক্ত করে। তারপরে, eachলাইনের জন্য :

  1. [ digit? ] partition কেবলমাত্র অ-অ-সংখ্যাগুলিতে প্রতিটি লাইন বিভক্ত করে
  2. [ write ] bi@উভয় আউটপুট, এবং nlএকটি নতুন লাইন প্রিন্ট।

পুনশ্চ:

90 টি বাইট শব্দ হিসাবে (71 টি আপনি যদি 1 অক্ষরের সাথে গুণক-দীর্ঘ-নামটি প্রতিস্থাপন করেন):

: numbers-to-the-front ( s -- ) "\n"split [ [ digit? ] partition [ write ] bi@ nl ] each ;


2

জাভা 8, 130 126 86 বাইট

a->{for(String s:a)System.out.println(s.replaceAll("\\D","")+s.replaceAll("\\d",""));}

-4 থেকে 8 জাভা 7 রূপান্তর এবং একটি অব্যবহৃত চরিত্র সরানোর বাইট
-40 ফাংশন প্রোগ্রাম রূপান্তর এবং পরিবর্তন বাইট [^\\d]থেকে\\D

ব্যাখ্যা:

এখানে চেষ্টা করুন।

a->{                             // Method with String-array parameter and no return-type
  for(String s:a)                //  Loop over the array
    System.out.println(          //   Print with a trailing new-line:
      s.replaceAll("\\D","")     //    All digits,
      +s.replaceAll("\\d",""));  //    plus all non-digits

2

জিএনইউ শেড, ২৮

-rস্কোরটিতে সিড করার বিকল্পের জন্য +1 অন্তর্ভুক্ত রয়েছে ।

:
s/([^0-9])([0-9])/\2\1/
t

যতক্ষণ না আরও বিকল্পগুলি তৈরি না করা হয় তত বার বার একটি অ-সংখ্যাযুক্ত অক্ষর এবং পরে একটি সংখ্যা বর্ণচিহ্ন পরিবর্তন করে।

দু: খজনকভাবে সেড রেইগেক্সগুলির নেই \dবা \Dতাই, এগুলি লম্বা হাতের বাইরে লিখতে হবে।

Ideone।


1

অক্টাভা, 37 32 বাইট

@(s)disp([s(x=s>47&s<58),s(~x)])

ans('The text might con4tain chara29cters s2huffled like hlep or dfeintino or even')
4292The text might contain characters shuffled like hlep or dfeintino or even

ইনপুট মাল্টলাইন হতে পারে; দেখুন (আপডেট) চ্যালেঞ্জ
লুইস মেন্ডো 25:58

1

ক্লোজার, 113 বাইট

(fn[s](map(fn[x](println(apply str(sort-by #(when-not(Character/isDigit %)1)x))))(clojure.string/split-lines s)))

লাইনের শুরুতে অঙ্কগুলি সাজায়।


1

ওরাকল এসকিউএল 11.2, 131 বাইট

ইনপুট স্ট্রিংয়ের লাইনগুলি '¤' দ্বারা পৃথক করা হয়। এইভাবে ইনপুট হিসাবে ব্যবহার করার জন্য কোনও সারণী তৈরি করা প্রয়োজন হয় না।

A word can have any number of text like 433884but all the numb89ers has to be moved left side ¤but alph6abetical va9lues has to be pas46ted on right sideThe text might con4tain chara29cters s2huffled like hlep or dfeintino or even¤meaningless1 words co43mbined togeth81er.

প্রশ্ন :

SELECT REGEXP_REPLACE(COLUMN_VALUE,'[^0-9]')||REGEXP_REPLACE(COLUMN_VALUE,'[0-9]')FROM XMLTABLE(('"'||REPLACE(:1,'¤','","')||'"'));

আন golfed

SELECT REGEXP_REPLACE(COLUMN_VALUE,'[^0-9]')||  -- Every number
       REGEXP_REPLACE(COLUMN_VALUE,'[0-9]')     -- Every character not a number   
FROM   XMLTABLE(('"'||REPLACE(:1,'¤','","')||'"'))  -- Split on ¤


1

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

import Data.List;g(n,l)=n++l;f=g.partition(`elem`['0'..'9'])

ব্যবহার

f "A word can have any number of text like 433884,"

1

সেড, 35 বাইট

h
s/[0-9]//g
x
s/[^0-9]//g
G
s/\n//

এটি লাইনটির একটি অনুলিপি তৈরি করে, পুনরায় সংস্থান করার আগে একটি অনুলিপি থেকে অঙ্ক এবং অন্যের চিঠিগুলি সরিয়ে দেয়।


1

বাশ, 42 বাইট

read a&&echo "${a//[^0-9]}${a//[0-9]}"&&$0

সতর্কতা অবলম্বন করুন যে এই পুনরাবৃত্তি বাস্তবায়ন প্রতিটি ইনপুটটির জন্য একটি নতুন প্রক্রিয়া জোর করে!



0

জুলিয়া 0.6 , 77 বাইট

x->(l=r="";for c=x
c=='\n'?(println(l*r);l=r=""):'/'<c<':'?(l*=c):(r*=c)
end)

স্ট্রিং এবং প্রিন্টিং আউটপুট গ্রহণ করে বেনামে ফাংশন। অক্ষরগুলির উপরে লুপ করুন, এটিকে একটি নতুন লাইন না পাওয়া পর্যন্ত তাদের বাম lবা ডান rবাফারে যুক্ত করুন , তারপরে এটি বাফারগুলি মুদ্রণ করে এবং খালি করে। প্রচুর সম্ভাব্য দরকারী কনস্ট্রাক্ট যেমন sort, filterএবং লজিকাল ইনডেক্সিং (বুলিয়ান মানগুলির একটি অ্যারের সাথে ইনডেক্সিং) স্ট্রিংগুলিতে কাজ করে না।

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


0

ভিম, 30 টি কীস্ট্রোক

qr:%s/\v(\D+)(\d+)/\2\1/<Enter>@rq@r

একটি অনুসন্ধান রেকর্ড করুন এবং অ্যাকশন প্রতিস্থাপন করুন যা অংকগুলির বামে অঙ্কগুলি সরিয়ে দেয়। যতক্ষণ না প্যাটার্নটি পাওয়া যায় না (যখন কোনও অ-অঙ্কের ডানদিকে আরও অঙ্ক থাকে না) ততক্ষণ পর্যন্ত ম্যাক্রোকে পুনরাবৃত্তভাবে কল করুন।


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