আমি আপনার প্রোগ্রামটি কত দ্রুত বলতে পারি?


26

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

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

সুতরাং, ধরে নিই যে কোনও চরিত্রের নামটি যত দীর্ঘ হবে, তত বেশি সময় লাগবে, আমার কিছু প্রোগ্রাম / বাক্য বানান করতে আমার কতক্ষণ সময় লাগবে?

বিশেষ উল্লেখ

শুধুমাত্র মুদ্রণযোগ্য এএসসিআইআই সমন্বয়ে একটি স্ট্রিং দেওয়া হয়েছে, প্রতিটি অক্ষরের ইউনিকোড নামের যোগফল প্রদান করুন। উদাহরণস্বরূপ, /বলা হয় SOLIDUS7 টি অক্ষর সঙ্গে, এবং Aহয় LATIN CAPITAL LETTER A22 অক্ষর।

তবে মনে রাখবেন, আমি আপনার প্রোগ্রামগুলি কার্যকর করার জন্য উচ্চস্বরে বলতে হবে, সুতরাং তাদের স্কোর এগুলি বলতে আমাকে কতটা সময় লাগে তার উপর ভিত্তি করে হবে, অর্থাত প্রতিটি চরিত্রের ইউনিকোড নামের দৈর্ঘ্যের যোগফল।

পরীক্ষার কেস:

input => outputইনপুটটিতে কোনও পিছনে / শীর্ষস্থানীয় স্থান ছাড়াই বিন্যাসে ।

A      => 22
/      => 7
Once upon a time...           => 304
slurp.uninames>>.comb.sum.say => 530
JoKing => 124
!" #$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~        =>  1591
Double-check your \s on the last test case ;)   => 755
<say "<$_>~~.EVAL">~~.EVAL     => 388
,[.,]  => 58
19     => 19

নিয়মাবলী:

  • আপনার প্রোগ্রামের ইনপুটটিতে কেবল প্রিন্টযোগ্য ASCII অক্ষর থাকবে, যা কোডপয়েন্টস 32 (স্পেস) থেকে 126 (টিলডে) থাকবে।
    • সুবিধার জন্য, আপনি পরিচালনা করতে হবে এমন অক্ষরের দৈর্ঘ্যের তালিকা এখানে রয়েছে: [5,16,14,11,11,12,9,10,16,17,8,9,5,12,9,7,10,9,9,11,10,10,9,11,11,10,5,9,14,11,17,13,13,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,19,15,20,17,8,12,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,18,13,19,5]
  • আপনার প্রোগ্রামটি স্কোর করতে আপনি এখানে ব্যবহার করতে পারেন এমন একটি রেফারেন্স প্রোগ্রাম।
    • পিটার টেলর উল্লেখ করেছেন যে রেফারেন্স প্রোগ্রামটি কিছু ইউনিকোড চরিত্রকে স্বাভাবিক করে তোলে । এটি এখনও বেশিরভাগ সমাধানের জন্য কাজ করা উচিত, তবে আপনার প্রয়োজন হলে এটিকে সংশোধন করতে দ্বিধা বোধ করবেন
  • যেহেতু আপনি বলছেন যে অক্ষরগুলি আসলে দেখতে কেমন তাই আপনার সমাধানটি অক্ষরগুলি দ্বারা প্রদর্শিত হবে, এতে জড়িত বাইটগুলি নয় not এটি কাস্টম এনকোডিং সহ ভাষাগুলিতে পরিচালিত।
    • আপনি ধরে নিতে পারেন যে আমি পুরো ইউনিকোড গ্রন্থাগারটি মুখস্থ করেছি এবং আপনি যে অদ্ভুত অক্ষর ব্যবহার করেন তা বলতে পারেন say
  • দুঃখিত রোজেম, তবে উত্তরগুলি প্রদর্শনযোগ্য অক্ষরগুলির সমন্বয়ে তৈরি করতে হবে। মুদ্রণযোগ্য ঠিক আছে, আমি কেবল উচ্চস্বরে অক্ষরগুলি পড়তে সক্ষম হতে হবে।
  • আপনি যা করেন না কেন, আপনার প্রোগ্রামে ব্যবহার করবেন না ।

9
ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORMএটি আমার সন্তানের পুরো নাম হবে
কুইনটেক

1
এই প্রোগ্রামটি ওয়ার্ড মোডে 6 স্কোর করেছে: এটি অনলাইনে চেষ্টা করুন!
নীল

2
রেফারেন্স প্রোগ্রামটি বগি। [এই পরীক্ষা] বিবেচনা করুন ( tio.run/##dY5PC4JAEMXvfYphYcNsWcrSi@Ahrx3rlB223FTSXdk/… ) যেখানে \x[2126]গণনা করা হয় \x[3a9]
পিটার টেলর

উত্তর:


13

জাভা 8, স্কোর 846 838 822 816

ௐ->ௐ.map(ˇ->Character.getName(ˇ).length()).sum()

-8 ধন্যবাদ স্কোর @tsh প্রতিস্থাপন _1সঙ্গে
-২২ স্কোরকে কেবলমাত্র এএসসিআইআই- এর সাথে ˇএবং এর $সাথে প্রতিস্থাপনের জন্য ধন্যবাদ

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

ব্যাখ্যা:

এর পরিবর্তে এবং ˇব্যবহৃত হয় sএবং cআমি সাধারণত ব্যবহার করব, কারণ ছোট হাতের অক্ষরগুলি সমস্ত 20 (অর্থাত্ LATIN SMALL LETTER S), তবে ( TAMIL OM) 8 এবং ˇ( CARON) 5 হয়।

ௐ->                         // Method with IntStream parameter and integer return-type
  ௐ.map(ˇ->                 //  Map each character to:
      Character.getName(ˇ)  //   Get the name of the character
               .length())   //   Get the length of that name
   .sum()                   //  And after the map: sum all lengths together,
                            //  and return it as result

1
আমি পছন্দ করি যে এই জাভা স্টাফটি 05AB1E কে কীভাবে বাইটের ক্ষেত্রে এবং এটি স্কোরের শর্তাবলী উভয়ই উত্তর দেয় ...
এরিক দ্য আউটগলফার

নিবন্ধন করুন আমার মনে হয় বিল্টিনগুলি w ;)
কেভিন ক্রুইজসেন

@KevinCruijssen এটা আছে সংরক্ষণ একটি দম্পতি বাইট যে আপনার হবে না push compressed integer 87235805968599116032550323044578484972930006625267106917841: পি
Quintec

1
পরিবর্তে ব্যবহার _1করুন কিছু পয়েন্ট সংরক্ষণ করবে।
tsh

1
@ কেভিন ক্রুজসেন পিটার টেলরের ( OHM SIGN) আটটি অক্ষর দীর্ঘ। এছাড়াও হা হা আমি সচেতন ছিলাম এটি বৈধ নয়, কেবল ধরে নেওয়া হয়েছে যেহেতু এটি সি # তে বৈধ এবং পিটারও _1খুব ব্যবহার করেছেন ( সংক্ষিপ্ত পরিবর্তনশীল নামগুলি সন্ধানের জন্য প্রোগ্রাম , বাক্সের অক্ষরটি ব্যবহার করা যাবে না)
এএসসিআই-মাত্র

11

যে .&[~]পরিবর্তে .joinএকটি ঝরঝরে কৌতুক। এই পদ্ধতির মাধ্যমে কি হ্রাস অপারেটরগুলি প্রয়োগ করা যেতে পারে তা আমি কখনই মনে করতে পারি না
জো কিং

7

জাপট ভি 2.0a1 -x, স্কোর 926 908 875 865 829 791 789

অক্ষরের অ্যারে হিসাবে ইনপুট নেয়।

®cg`061742//0.450./..//.2/5117385`c+51 r\A_p26}  n# 

এটি ব্যবহার করে দেখুন বা টিআইও-তে সমস্ত পরীক্ষার কেস চালান

( APOSTROPHEটিআইও-তে 6th ষ্ঠ পরীক্ষার মামলা থেকে বাদ দেওয়া হয়েছে কারণ জাপট একই ইনপুট স্ট্রিংয়ে একক এবং ডাবল উভয় উক্তি হ্যান্ডেল করতে পারে না)


ব্যাখ্যা

®cg`...`c+51 r\A_p26}  n#      :Implicit input of character array
®                              :Map
 c                             :  Character code
  g                            :  Index into (0-based, with wrapping)
   `...`                       :    The string described below
        c+51                   :    Increment the codepoint of each by 51 (="8cKidj55gebbc9agh895c97a99baa9bba59ebhddMjfkh")
                               :    (Space closes the above method)
             r                 :    Replace
              \A               :      RegEx /[A-Z]/g
                _              :      Pass each match through a function
                 p26           :        Repeat 26 times
                    }          :      End function
                               :    (Space closes the replace method)
                               :  (Space closes the indexing method)
                       n       :  Convert to integer
                        #      :    From base 32 (note the trailing space)
                               :Implicitly reduce by addition and output

বিল্ডিং দ্য স্ট্রিং

(স্কোরগুলিতে প্রতিটি পরিবর্তনকে বিপরীত করার জন্য প্রয়োজনীয় পদক্ষেপ এবং অতিরিক্ত অক্ষর অন্তর্ভুক্ত রয়েছে)

  1. অ্যারেটি 2161 এর একটি বেসলাইন স্কোর দিয়েছে ।
  2. প্রত্যেককে বেসে একক অক্ষরে রূপান্তর করা >=23এবং একটি স্ট্রিংয়ে যোগ দেওয়া 1832 স্কোর ।
  3. উভয় রানের পরিবর্তে mএবং kএকক, বড় হাতের অক্ষর দিয়ে 963 রান করে ।
  4. এখনও অনেক ব্যয়বহুল চিঠি ছিল তাই পরবর্তী আমি সমস্ত চরিত্রের কোডপয়েন্টগুলি কমিয়ে এগুলি থেকে মুক্তি পাওয়ার চেষ্টা করেছি। 5সর্বনিম্ন কোডপয়েন্ট ( 53) সহ চরিত্রটি ছিল তাই আমি 52 দিয়ে শুরু করি, যা 756 পেয়েছে
  5. সমস্ত নম্বর যে ছেড়ে দিতেন চেষ্টা করার পরে কোন স্ট্রিং অক্ষর, 51শ্রেষ্ঠ স্কোর দিয়েছেন 738
  6. অবশেষে, সামান্য সস্তা ব্যাকটিক সঙ্গে উদ্ধৃতি চিহ্ন প্রতিস্থাপন স্কোর দিয়েছেন 734 । জাপটে ব্যাকটিকগুলি সাধারণত একটি সংকুচিত স্ট্রিংটি আবদ্ধ এবং সংক্ষেপিত করতে ব্যবহৃত হয় তবে ভাগ্যক্রমে, এই স্ট্রিংয়ের কোনও অক্ষরই শোকোর লাইব্রেরিতে নেই

চূড়ান্ত স্ট্রিং, সুতরাং, নিম্নলিখিত কোডপয়েন্টে অক্ষর রয়েছে:

[5,48,24,54,49,55,2,2,52,50,47,47,48,6,46,52,53,5,6,2,48,6,4,46,6,6,47,46,46,6,47,47,46,2,6,50,47,53,49,49,26,55,51,56,53]

4

05 এ বি 1 ই , স্কোর 963

Îv•Fδà‚<0?9½mΣ@×ƶC₁vc-™uΔ_ε'•21вεD3‹i22α₂и}}˜yÇ32-è+

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

ব্যাখ্যা:

Î               # Push 0 and the input-string
 v              # Loop `y` over the characters of this input-string:
  Fδà‚<0?9½mΣ@×ƶCvc-™uΔ_ε'•
               '#  Push compressed integer 87235805968599116032550323044578484972930006625267106917841
   21в          #  Converted to Base-21 as list: [5,16,14,11,11,12,9,10,16,17,8,9,5,12,9,7,10,9,9,11,10,10,9,11,11,10,5,9,14,11,17,13,13,0,19,15,20,17,8,12,2,18,13,19,5]
    ε           #  Map over this list:
     D3i       #   If the value is smaller than 3:
         22α    #    Take the absolute difference of this value with 22
            ₂и  #    Repeat it 26 times as list
    }}          #  Close the if-statement and map
      ˜         #  Flatten the list
       yÇ       #  Get the unicode value of the current character
         32-    #  Subtract 32
            è   #  Index it into the list of integers
             +  #  And add it to the sum
                # (and output the sum implicitly as result after the loop)

আমার এই 05AB1E টিপটি দেখুন (বিভাগগুলি কীভাবে বড় পূর্ণসংখ্যাগুলি সংকুচিত করবেন? এবং পূর্ণসংখ্যা তালিকাগুলি কীভাবে সংকুচিত করবেন? ) কেন •Fδà‚<0?9½mΣ@×ƶC₁vc-™uΔ_ε'•21вতা বোঝার জন্য [5,16,14,11,11,12,9,10,16,17,8,9,5,12,9,7,10,9,9,11,10,10,9,11,11,10,5,9,14,11,17,13,13,0,19,15,20,17,8,12,2,18,13,19,5]


4

সি # (ভিজ্যুয়াল সি # ইন্টারেক্টিভ সংকলক) (স্কোর 1627 1116 1096 1037 1019 902)

Ω=>Ω.Sum(ˇ=>(31&-ˇ)>5&ˇ>62?22-ˇ/91*2:"♁♌♊♇♇♈♅♆♌♍♄♅♁♈♅♃♆♅♅♇♆♆♅♇♇♆♁♅♊♇♍♉♉♏♋♐♍♄♈♎♉♏♁"[ˇ-6-ˇ/33*26]-9788)

এটি কোনও অন্তর্নির্মিত ডাটাবেস ব্যবহার করে না: কেবলমাত্র অক্ষর এবং একটি অনুসন্ধান সারণীর জন্য কিছু বিশেষ-আবরণ asing

অনলাইন পরীক্ষা স্যুট

এটি নিজেই স্কোর করতে পারে না, কারণ বেশিরভাগ অক্ষর সীমার মধ্যে নেই, ভেরিয়েবল CARONএবং OHM SIGNএবং রাশিচক্রের চিহ্নগুলি লকিং টেবিলটি এনকোড করার জন্য ব্যবহৃত হয়।

কেবলমাত্র অনেক পরামর্শের জন্য ASCII- কে ধন্যবাদ ।


আপনি কোন স্কোরিং প্রোগ্রামটি ব্যবহার করেছেন
ASCII- কেবল

tio.run/##NZDrdpNAFIX/z1OMY0wgwhCg0NAEanpT22jVaquGiAQnYbgMhIHWGJO36gv0xSJrBf@cdS57r72@E3A54HR3UbFgyMuCsoVEWenM7d3To@08PeKbKhU82xG2suDJdgd2xLauikPNbLc9R9eONU32FFPtakeI5CyOExrly5CShC4iSuMoonEcEcriZZryrFyGSZFygiZebdP1rmZOZcsUdwMwzwriB6Fw7xfQh5RBRh4m0zVAIyRBRYGaBpCybw8BumYBgVWesVpb0pRgjPc3vXcAEE@qIscVo8xPCXccHGTpDPMqxdxf7XWG3gPoMruqifcLVauNz1wEn7detDuC2H0pyVjpqZp@YJiHfetoMLSd41ejk9Oz84vXb95eXo3fvb/@8PHTzecvt3dfv32fuO70h/fTnwW/yHwR0ihOUpbly4KX1f3D79Wf9d/NtskyLBWgs6yaJUQOQhLEcJVVBXRdDmukMiQw8XkJS1KXwOcEDsQG3TAAGtYU0EXDludst/j8djR20f@u@UK/D5A0wdK0oa1H1WrCLbARwV1BSzKmjAgttPYly9hAaDsQrueCL26QONj9Aw
হওয়া ASCII শুধুমাত্র

2
@ এএসসিআইআই-তে, আমি নীচে পাইথন উত্তরটি ব্যবহার করেছি; জাভা উত্তর এছাড়াও 1627. দেয় সমস্যা হতে যে রেফারেন্স সমাধান বগী বলে মনে হয়: Ω U + এ 2126 হল ওম সাইন না গ্রিক বড় হাতের অক্ষর ওমেগা।
পিটার টেলর

1
স্কোর 5 নাম: ˇ, সি # স্বীকার করে এমন 8 টির চেয়ে কম আর কোনও নাম জাভা প্রোগ্রামের সাথে যাচাই করা হয়নি
ASCII-

1
@ কেভিন, আমার আগের মতামত অনুসারে রেফারেন্স বাস্তবায়ন বগি। আমি মনে করি এটি উত্স অক্ষর ওএইচএম সাইনকে গ্রিক ক্যাপিটাল লেটার ওমেগায় পরিণত করার জন্য এটি স্বাভাবিককরণ প্রয়োগ করছে।
পিটার টেলর

4

আর; স্কোর: 3330 1586 1443

বিল্ট-ইনগুলির অভাবের কারণে আর-তে চ্যালেঞ্জিংও।

ঠিক আছে কোডটি এখন বেশিরভাগ @ জিউস্প্পের তবে এটি ঠিক আছে। আমি * এর সাথে * এবং s এর সাথে ডট দিয়ে প্রতিস্থাপন করে আরও গল্ফের জন্য একটি ছোট সম্পাদনা করতে সক্ষম হয়েছি।

"নিক কেনেডি" ধন্যবাদ আরকেন ম্যাজিক "সংখ্যার অনুক্রমের একটি ইউটিএফ 8 এনকোডড সংস্করণ" ব্যবহার করে এটি 1443 এ নামিয়ে দেওয়ার জন্য

function(.)sum((c(+",752230178/0,30.1002110221,052844",61~26,+":6;8/3",59~26,+"94:,")-39)[+.-31]);`+`=utf8ToInt;`~`=rep

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


1769 পয়েন্ট - মানগুলি সংক্ষেপণের জন্য একটি সর্বনিম্ন প্রচেষ্টা করে ...
জিউসেপ

2
এছাড়াও, utf8ToIntগল্ফিংয়ের জন্য একটি দুর্দান্ত সহায়ক কমান্ড :-) আমি একমাস বা তার বেশি সময় ধরে পিপিসিজিতে ছিলাম না, তাই নতুন লোকেরা আর-তে গল্ফ করছে দেখে ভাল লাগল!
জিউসেপ

আহ, আমার এটি সংকোচনের একটি উপায় ছিল, কিন্তু utf8ToInt সম্পর্কে অবগত ছিল না। আমাকে আজ রাতের পর / কাল এ নিয়ে কাজ করতে হবে।
সিটি হল

1
এটি প্রোগ্রাম / স্নিপেটের অধীনে কোডের আরও লাইন যা বাইকোয়ান্টকে প্রভাবিত করে না - এতে কিছু পরীক্ষা করার জন্য দরকারী
এএসসিআইআই-কেবল

1
1443-এর নিচে: tio.run/##xc09DoIwFADgu3ShTR/… নম্বর সিকোয়েন্সের একটি ইউটিএফ 8 এনকোডড সংস্করণ ব্যবহার করে।
নিক কেনেডি

3

পাইথন 3 , 993 এর স্কোর

lambda _:len(''.join(map(__import__('unicodedata').name,_)))

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

এখন 1000 এর নিচে, কোনও টিপস এখনও প্রশংসিত।

-16 কিরিল এলকে ধন্যবাদ



1
আপনি প্রতিস্থাপন করতে পারেন _দ্বারা ˇ987. জন্য
লিন


2

সংযুক্তি , 1934

Sum@{ToBase[FromBase[Ords@"!ZByru=#9fBYb$a3Si0^pU,ZP#3$cd'(c-_lhu]h(]5;!W|?M4:<_^sU;N&XFN`t:u"-32,95],23][Ords@_-32]}

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

সাধারণ সংক্ষেপণ এবং সূচীকরণ।


: পি দেখে মনে হচ্ছে একটি স্মার্ট লুকআপ ব্যবহার করা (সি # উত্তর দেখুন) স্কোর করতে সহায়তা করবে। বা এমনকি কেবল একটি অক্ষর ব্যবহার করে যাতে সংকোচনের জন্য চিঠিগুলি থাকে না
ASCII-

1

সি # (ভিজ্যুয়াল সি # ইন্টারেক্টিভ সংকলক) , স্কোর: 4007 3988 3759 3551 2551

ˇ=>ˇ.Sum(_=>new[]{5,16,14,11,11,12,9,10,16,17,8,9,5,12,9,7,10,9,9,11,10,10,9,11,11,10,5,9,14,11,17,13,13,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,19,15,20,17,8,12,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,18,13,19,5}[_-32])

আমি উপরের পিটার টেলরের সমাধান দ্বারা চূর্ণবিচূর্ণ বোধ করছি। পিটার টেলরকে ধন্যবাদ একটি সাধারণ অনুসন্ধানের টেবিলটি দেখানোর জন্য যা আমার আগের অভিধানের সমাধানের চেয়ে ভাল ছিল।

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


এটি সরাসরি দেখার টেবিলের চেয়ে যথেষ্ট খারাপ: _1=>_1.Select(_2=>new int[]{5,16,14,11,11,12,9,10,16,17,8,9,5,12,9,7,10,9,9,11,10,10,9,11,11,10,5,9,14,11,17,13,13,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,19,15,20,17,8,12,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,18,13,19,5}[_2-32]).Sum()স্কোর 2786
পিটার টেলর
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.