একটি পাসওয়ার্ড তৈরি করুন


26

আমার পাসওয়ার্ডটি মনে রাখা খুব কঠিন, তাই আমি একটি পাসওয়ার্ড উত্পন্ন করার উপায় নিয়ে এসেছি।

আমি আমার পাসওয়ার্ডটি যেভাবে তৈরি করি তা হল এই পদক্ষেপগুলি অনুসরণ করে একটি শব্দ বা একটি বাক্য থেকে:

  1. বাম থেকে ডানে শুরু করুন

  2. প্রতিটি অক্ষরের গণনা সন্ধান করুন

  3. একটি আদেশে তার গণনা সহ চিঠি রাখুন

    • উচ্চতর পুনরাবৃত্তি সহ চিঠিগুলি শেষ হবে

    • একই পুনরাবৃত্তির সাথে বর্ণগুলি বর্ণমালা অনুসারে অর্ডার করা হবে

  4. সংখ্যা এবং বিশেষ অক্ষরগুলি সাদা স্পেস সহ উপেক্ষা করা হবে (উদাঃ 9, 4, @, (, *, ইত্যাদি উপেক্ষা করা হবে))

  5. গ্রুপ অক্ষর মামলা উপেক্ষা। আউটপুটে, ইনপুটটিতে সর্বশেষ ঘটনার কেসটি ব্যবহার করুন

  6. চিঠির গণনা যে কোনও সংখ্যা হতে পারে যেমন 5H17M345K
  7. যদি ইনপুটটি সমস্ত সংখ্যা বা বিশেষ অক্ষর হয় তবে আউটপুট খালি স্ট্রিং হবে যেমন ইনপুট "12 $ * 34 ^!" তারপরে আউটপুট ""
  8. বর্ণমালা অনুসারে একই ঘটনার জন্য অর্ডার যেমন 1a1B1c হিসাবে বিবেচিত হয় না

উদাহরণ:

Input: Kitkat Tango
(2k / 1i / 3T / 2a / 1n / 1g / 1o)
Output: 1g1i1n1o2a2k3T

আরেকটি উদাহরণ:

Input: Database Partitions Task
(1D / 5a / 4T / 1b / 3s / 1e / 1P / 1r / 2i / 1o / 1n / 3s / 1k)
Output: 1b1D1e1k1n1o1P1r2i3s4T5a

দ্রষ্টব্য: 1 টি পুনরাবৃত্তি সহ বর্ণগুলি শুরুতে বর্ণানুক্রমিকভাবে অর্ডার করা হয় তারপরে আরও বেশি অক্ষর সহ বর্ণগুলি

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


16
একটি চিঠি 9 বারের বেশি প্রদর্শিত হতে পারে?
শেগি

3
@ মান্যাটওয়ার্ক: তবে এটি অস্পষ্ট নয় (দ্রষ্টব্য, তাদের উত্তরটি ধরে নিচ্ছে যে অক্ষরগুলি 10 বারেরও কম প্রদর্শিত হবে), এটি কেবল ইনপুট বিধিনিষেধকে আলগা করার চেষ্টা করছে।
ბიმო

4
প্রকৃত প্রশ্ন সংস্থায় এই স্পষ্টতা যুক্ত করার বিষয়টি নিশ্চিত করুন, যাতে উত্তরদাতাদের মন্তব্যগুলির মাধ্যমে শিকার করতে হবে না
জো কিং

2
মন্তব্যগুলি কোনও স্পেসিফিকেশন করে না। আপনার 1.কমপক্ষে ১ টি টেস্ট কেস যুক্ত করতে চ্যালেঞ্জটি আপডেট করতে হবে যার মধ্যে এক বা একাধিক বর্ণের 9 টিরও বেশি উপস্থিতি রয়েছে, 2.নির্দিষ্ট করে আউটপুটটি স্ট্রিং হওয়া আবশ্যক (যদিও আমি দৃ strict়রূপে কঠোর হওয়ার বিরুদ্ধে সুপারিশ করব; এটি চ্যালেঞ্জের সাথে কিছুই যুক্ত করে না ), 3.উল্লেখ করুন যে আমাদের অবশ্যই কোনও অক্ষর নেই এমন ইনপুটগুলি পরিচালনা করতে সক্ষম হব এবং 4.ইনপুট হিসাবে খালি স্ট্রিংটি আমাদের পরিচালনা করতে হবে কিনা তা পরিষ্কার করে।
শেগি

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

উত্তর:


7

জাপট ভি 2.0a0 -P, 14 বাইট

f\l üv ñÊ®ÌiZÊ

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

f\l üv ñÊ®ÌiZÊ     :Implicit input of string
                   > e.g., "Kitkat Tango"

f                  :Split to an array of characters
 \l                :  Matching RegEx /[a-z]/gi
                   > ["K","i","t","k","a","t","T","a","n","g","o"]

    ü              :Sort & group (Preserves original order within each group)
     v             :  By lowercase
                   > [["a","a"],["g"],["i"],["K","k"],["n"],["o"],["t","t","T"]]

       ñ           :Sort
        Ê          :  By length
                   > [["g"],["i"],["n"],["o"],["a","a"],["K","k"],["t","t","T"]]

         ®         :Map each Z
          Ì        :  Last element of Z
                   >   ["g","i","n","o","a","k","T"]
           i       :  Prepend
            ZÊ     :    Length of Z
                   >   ["1g","1i","1n","1o","2a","2k","3T"]

                   :Implicitly join & output
                   > "1g1i1n1o2a2k3T"

10

05 এ বি 1 , 19 17 16 বাইট

কেভিন ক্রুইজসেনকে ধন্যবাদ 1 বাইট সংরক্ষিত

áΣl}.γl}éεgyθJ}J

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

ব্যাখ্যা

á                  # keep only letters in input
 Σl}               # sort by lower-case
    .γl}           # group by lower-case
        é          # sort by length (stable)
         ε    }    # map each to
          g        # its length
             J     # joined with
           yθ      # the last letter
               J   # join to string

(জোড়ায়) একটি «(কনক্যাট / মার্জ) এ পরিবর্তন করে আপনি একটি বাইট সংরক্ষণ করতে পারেন , যাতে দুটি Jগুলি (যোগ দেওয়া) এর একটি অপসারণ করা যায়।
কেভিন ক্রুইজসেন

@ কেভিন ক্রুজসেন: বাহ। আমি এখন বোকা বোধ করছি :) কেন আমি কেবল Jভিতরে move ুকিনি? সম্পাদনা করুন: আসলে, আমার 19 বাইট সংস্করণে জুটি হিসাবে তাদের দরকার ছিল এবং আমি 17 টি তৈরি করার সময় এটিকে পরিবর্তন করার কথা ভাবিনি: পি
এমিগানা

এই প্রশ্নেরJ উত্তরের উপর নির্ভর করে আপনি দ্বিতীয় ওয়ান ফেলে দিতে সক্ষম হতে পারেন
শেগি

8

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

x=>x.Where(char.IsLetter).GroupBy(a=>a%32).OrderBy(a=>(a.Count(),a.Key)).Select(a=>a.Count()+""+a.Last())

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

এটি 138 বাইট থেকে 105 বাইটে নামিয়ে আনার জন্য ডানাকে ধন্যবাদ।


শুধু না কেন .OrderBy(a=>a)?
গ্র্যাথথফিশ



6

রেটিনা , 67 66 41 39 বাইট

\P{L}

O$`.
$l$0
ir`\1*(.)
$.0$1
N`\d+.

-২২ বাইট এবং একটি ছোট বাগ-ফিক্স ধন্যবাদ @ নীলকে
-২ বাইটস একসাথে @ নীল এবং @ শেগিকে ধন্যবাদ ।

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

ব্যাখ্যা:

উপরের- এবং ছোট হাতের অক্ষরগুলি বাদ দিয়ে সবকিছু সরিয়ে ফেলুন:
যেমন Kitkat Tango 123!→ →KitkatTango

\P{L}

স্বতন্ত্র অক্ষরগুলি কেস-সংবেদনশীল বাছাই করুন (এর জন্য @ মার্টিনেন্ডারের জন্য ধন্যবাদ ):
ie KitkatTangoaagiKknottT

O$`.
$l$0

কেস-অবশ প্রতিটি খণ্ড ক্যাপচার পুনরাবৃত্তি সংলগ্ন চিঠি:
অর্থাত aagiKknottT→ [ aa, g, i, Kk, n, o, ttT]

ir`\1*(.)

প্রতি ম্যাচেই দৈর্ঘ্য শুরুতে যোগ, এবং শুধুমাত্র যে খণ্ড শেষ চিঠি রাখবেন:
অর্থাত [ aa, g, i, Kk, n, o, ttT] →2a1g1i2k1n1o3T

$.0$1

সংখ্যাগুলির উপর ভিত্তি করে সংখ্যা এবং অক্ষর গোষ্ঠীগুলি সাজান:
2a1g1i2k1n1o3T1g1i1n1o2a2k3T

N`\d+.

যার পরে ফলাফল সুস্পষ্টভাবে আউটপুট হয়।


আপনি কি নিশ্চিত যে এটি একটি বাগ? এটি কি শুধু অভিধানিকভাবে বাছাই করা হয় না? ( "aA" < "aa")
শেগি

1
@ শেগি এটি নিশ্চিত কিনা আমি নিশ্চিত নই। কারণ \wএবং এর .মধ্যে এটি O`\w.ব্যবহার করতে ব্যবহৃত হয়েছিল যে আমরা জোড়া অক্ষর বাছাই করছি। আমরা প্রতিটি জোড় অক্ষরকে বাছাই করতে পারি কিনা তা নিশ্চিত নন, তবে কেবল প্রথম অক্ষরের উপর ভিত্তি করে এটি সাজান sort তবে আহ্, মার্টিনের প্রস্তাব প্রতিস্থাপনের উপর ভিত্তি করে প্রতিটি চরিত্রকে সাজানোর জন্য পরামর্শ (যা ম্যাচের ছোট হাতের অক্ষর) মনোমুগ্ধের মতো কাজ করে। :)
কেভিন ক্রুইজসেন

1
এটি 41 বাইটে করা যেতে পারে বা আমি কিছু মিস করছি?
নীল


2
@ শেগি প্রকৃতপক্ষে আরও পড়া, \P{L}কাজ করতে পারে, যা 2 বাইট সংরক্ষণ করে।
নীল

4

ওল্ফ্রাম ভাষা (গণিত) , 102 96 93 87 বাইট

""<>Map@ToString/@Sort[(r=Reverse)/@Tally[r@#/." "->Nothing,Equal@@ToLowerCase@{##}&]]&

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

Tally[r@#/." "->Nothing,Equal@@ToLowerCase@{##}&]      Start with a char list
        #/." "->Nothing                                Remove spaces
      r@                                               Reverse the result
Tally[                 ,Equal@@ToLowerCase@{##}&]
                                             Make a list of letters and multiplicities,
                                             where two letters are considered the same if
                                             their lowercase values are equal. Then:

""<>Map@ToString/@Sort[(r=Reverse)/@ ... ]&
                       (r=Reverse)           Reverse each {letter, freq} to {freq,letter}.
                                             Then the standard Wolfram order function sorts
                                               lower frequencies first, with ties broken by
                                               by letters earlier in the alphabet,
                  Sort[                  ]     exactly what we want.

    Map@ToString/@                           @ has higher precedence than /@, so
                                               this effectively does Map[Map[ToString]].
""<>                                         StringJoin the nested list into a single string.

4

পাইথ, 27 24 22 বাইট

ssrD0m,lded.gr0k@+Gr1G

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

ssrD0m,lded.gr0k@+Gr1GQ   Implicit: Q=eval(input()), G=lowercase alphabet
                          Trailing Q inferred
                   r1G    Uppercase alphabet
                 +G       Concatenate with lowercase alphabet
                @     Q   Keep those characters in Q which are also in the above
           .g             Group the remaining characters, as k, using:
             r0k             Convert k to lowercase
                              (Grouping preserves relative order)
     m                    Map the sorted groups, as d, using:
       ld                   Length of d
      ,                     Pair the above with...
         ed                 ... last element of d
   D                      Sort the above...
  r 0                     ... by their lowercase values
ss                        Flatten, then concatenate the result of the above into a string, implicit print

সম্পাদনা করুন: পূর্ববর্তী সংস্করণটির আগে অক্ষর অনুসারে অর্ডার দিয়ে গল্ফড 3 বাইট sm+ldedo,lNr0eN.gr0kf}r0TGQ

সম্পাদনা 2: পূর্ববর্তী সংস্করণটির আগে কোনও অর্ডার আউটপুট ফর্ম্যাট করে আরও 2 বাইট গল্ফড sm+ldedlD.gr0krD0f}r0TGQ

3 সম্পাদনা করুন: ফিল্টারটি পরিবর্তন করে অন্য একটি বাইট বন্ধ করে দেওয়া হয়েছে, @ ফ্রিআমএইটিজিমনকে ধন্যবাদ। যখন ওপি স্পষ্ট করে জানিয়েছিল যে একটি একক চিঠি 9 বারের বেশি প্রদর্শিত হতে পারে, যা এতে একটি বাইট যুক্ত করেছে: ও (পূর্ববর্তী সংস্করণ:srD0m+lded.gr0kf}r0TGQ


@ ফ্রাইআম দ্য এজম্যান মহান কল, আপনাকে ধন্যবাদ!
সোক

4

এপিএল (ডায়ালগ প্রসারিত) , 28 বাইট এসবিসিএস

বেনামে ট্যাসিট প্রিফিক্স ফাংশন।

(∊⍤∧⌊(⊂⍕⍤≢,⊢/)⍤⊢⌸⊢)'\PL'R''

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

'\PL' খালি স্ট্রিং সহ  নন-চিঠিগুলি
⎕R পিসিআরই আর বিভক্ত হয়
''

() নিম্নলিখিত সূক্ষ্ম ফাংশন প্রয়োগ করুন:

 কী হিসাবে ছোট হাতের অক্ষর দিয়ে
 … ...  প্রতিটি কী এবং এর সাথে সম্পর্কিত মানের সেটগুলিতে নীচের স্বতন্ত্র ফাংশনটি প্রয়োগ করুন,
 যুক্তিটি:

  (... ) নিম্নলিখিত মৌন ফাংশন প্রয়োগ
   করার
   মান তালিকা:

   ⊢/ শেষ মান

   … , এটিতে নিম্নলিখিতটি সংশোধন করুন:

     stringification
     এর
     ট্যালি

    ঘেরযুক্ত (অক্ষরের তালিকাকে একক স্ট্রিং হিসাবে গণ্য করতে)

ε nlist (চেপ্টা)  যে সাজানো-আরোহী সংস্করণ


1
@ শেগি ধন্যবাদ +1 বাইটে স্থির।
আদম

3

পার্ল 5, 74 68 66 বাইট

-6 পরিবর্তন বাইট -pথেকে -nএবং ব্যবহার sayপরিবর্তে $_=join"", -2 ব্যবহার এবিগেল ধন্যবাদ বাইট \pLপরিবর্তে[a-z]

s/\pL/($h{lc$&}+=1).=$&/gie;say sort{$a-$b||lc$a cmp lc$b}values%h

Tio

59 বাইট, প্রতিটি চরিত্রের 9 টির বেশি উপস্থিতি না থাকলে

s/\pL/($h{lc$&}+=1).=$&/gie;say sort{lc$a cmp lc$b}values%h

@ অবিগাইল, আপনাকে ধন্যবাদ, দ্বিতীয় প্রোগ্রামে এটি আপডেটের পরে পর্যবেক্ষণ হয়েছিল
নাহুয়েল ফিউইলুল

3

পাইথন 2 , 116 বাইট

def f(s):a=s.lower();return''.join(`n`+s[a.rfind(c)] for n,c in sorted((a.count(c),c)for c in set(a)if c.isalpha()))

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


এর আউটপুট Database Partitions Taskসমান নয়1b1D1e1k1n1o1P1r2i3s4T5a
এমদাহমনে

@ এমদাহমৌনে ধন্যবাদ, ঠিক করা উচিত।
টিফিল্ড

In the output, use the case of the last occurrence in the inputএর rfindপরিবর্তে আপনার দরকার হবে find। যদিও এটি অফসেট ...] forহয়ে উঠতে ...]forপারে।
আরবিও


3

হাস্কেল , 114/113 105 বাইট

-9 ধন্যবাদ বাইট Laikoni (ব্যবহার তালিকা-ধী এবং (||)পরিবর্তে filterসঙ্গে elem& কমান lengthকুশ্রী পরিত্রাণ পেতে zip)!

f s=id=<<[show(h r)++[last r]|l<-[1..h s],a<-['A'..'Z'],r<-[[x|x<-s,x==a||x==[a..]!!32]],h r==l]
h=length

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




@ লাইকনি: এখন আমদানির চেয়ে খাটো, খুব সুন্দর !!
ბიმო

3

লাল , 220 196 206 বাইট

func[s][a: charset[#"a"-#"z"#"A"-#"Z"]trim/all form sort/skip collect[foreach c sort
unique reverse rejoin parse s[collect[any[keep[a]| skip]]][i: 0
foreach d s[if(c% 32)=(d% 32)[i: i + 1]]keep i keep c]]2]

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

বাগ খুঁজে পাওয়ার জন্য শেগিকে ধন্যবাদ।


1
@ শেগি এটি নির্দেশ করার জন্য আপনাকে ধন্যবাদ, আমি এটি ঠিক করার চেষ্টা করব।
গ্যালেন ইভানভ

2

জেলি , 15 বাইট

fØẠµŒlĠLÞịµL,Ṫ)

নির্দিষ্ট হিসাবে পাসওয়ার্ড মুদ্রণ একটি সম্পূর্ণ প্রোগ্রাম (একটি monadic লিঙ্ক হিসাবে এটি প্রতিটি একটি পূর্ণসংখ্যার এবং একটি অক্ষর সমন্বিত তালিকার একটি তালিকা উত্পন্ন করে)।

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


2

হুশ , 15 বাইট

আমদানির কোন সমস্যা যখন তুষ ব্যবহার করে, তাই আমরা যেমন বিভিন্ন কুশলী ফাংশন ব্যবহার করতে পারেন groupOn, sortOn, toLowerইত্যাদি:

ṁ§:osL→ÖLSġÖ_f√

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

ব্যাখ্যা

ṁ§:(sL)→ÖLSġÖ_f√  -- example input: "Kitkat Tango"
              f√  -- `filter isAlpha`: "KitkatTango"
          S  _    -- apply _ to .. then ..
            Ö     -- | sortOn: `sortOn toLower`
           ġ      -- | groupOn: `groupOn toLower`
                  -- .. compose: `groupOn toLower . sortOn toLower`
                  -- `sortOn toLower` (stable): "aagiKknottT"
                  -- `groupOn toLower`: ["aa","g","i","Kk","n","o","ttT"]
        ÖL        -- `sortOn length` (stable): ["g","i","n","o","aa","Kk","ttT"]
ṁ                 -- map and flatten (`concatMap`)
 §                -- | fork argument ..
       →          -- | | `last`: ['g','i','n','o','a','k','T']
   (sL)           -- | | `show . length`: ["1","1","1","1","2","2","3"]
  :               -- | .. and `snoc`: ["1g","1i","1n","1o","2a","2k","3T"]
                  -- : "1g1i1n1o2a2k3T"

2

জাভাস্ক্রিপ্ট (নোড.জেএস) , 127 বাইট

s=>[...s].sort(o=(x,y)=>p(0+x,36)-p(0+y,36),p=parseInt).join``.match(/([a-z])\1*/ig).map(x=>(l=x.length)+x[l-1]).sort(o).join``

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

  • parseInt(numberAsString, radix)স্ট্রিংয়ের শুরুতে পূর্ণসংখ্যা পার্স করার চেষ্টা করবে। উদাহরণস্বরূপ, parseInt('120px', 10)আউটপুট 120 হবে p পার্সিং ব্যর্থ হলে, NaNপরিবর্তে এটি ফিরে আসে । আমরা '0'প্রতিটি অক্ষরের শুরুতে একটি সংযোগ করি যাতে এটি 0কোনও সংখ্যাসূচক-আলফা অক্ষরের জন্য ফিরে আসে । এবং আমরা এই অ্যালগোরিদম দ্বারা শুরুতে একই অক্ষর এবং নন-আলফা অক্ষর বাছাই করতে পারি।
  • পরে sortএবং join, "Hello world!123"হয়ে যাবে " !123deHllloorw"। এর সাথে মিলে যাওয়া /([a-z])\1*/igকোনও অ-আলফা অক্ষরকে উপেক্ষা করবে এবং স্ট্রিংটিকে একই বর্ণের সাথে ভাগ করে দেবে। `।
  • mapরূপান্তর "aaa"করার "3a"যেমন প্রশ্নে প্রয়োজন।
  • দ্বিতীয় সাজানোর ক্ষেত্রে প্রথমটির মতো একই ফাংশন ব্যবহার করা হয়। সংখ্যা সিস্টেমের জন্য ধন্যবাদ, আমরা আশা করি ঠিক তেমন বেস 36 এর "3b"চেয়ে কম হবে "12a": এটি প্রথমে গণনাগুলির তুলনা করে ( n div 36) এবং পরে বর্ণটি তুলনা করে ( n mod 36)।
  • শেষ পর্যন্ত joinতাদের একসাথে।

জাভাস্ক্রিপ্ট (নোড.জেএস) , 146 বাইট

f=(s,...a)=>(s=s.replace(/[^a-z]/ig,''))?f(s.replace(RegExp(s[c=0],'ig'),x=>(l=++c+x,'')),...a,l):a.sort((x,y)=>p(x,36)-p(y,36),p=parseInt).join``

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


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

@ শেগি আহ, সম্পূর্ণরূপে অপসারণ করতে ভুলে গেছেন f=। প্রথমটি খাটো হত be ওপি আউটপুটটি খালি স্ট্রিং হতে পারে বলে এটি আরও 4 বাইট পেয়ে যায় 4 এবং আমি তাদের এখানে রেখেছি ...
tsh

1
@ শেগি ঠিক আছে, সন্ধান করুন দ্বিতীয়টি আরও বেশি সংক্ষিপ্ত হতে পারে। এবং আমি প্রথম হিসাবে এটি স্থাপন।
tsh

2

জাভা 10, 223 209 301 বাইট

s->{int i=32,t;String M[]=new String[i],r,R="";for(var c:s)M[c%32]+=c>64&c<91|c>96&c<123?c:R;for(;i-->0;M[i]=(t=r.length()-4)>0?t+r.split(R)[t+3]:R)r=M[i]+R;java.util.Arrays.sort(M);for(var p:M)R+=p;return R;}

একক চিঠির 9 টিরও বেশি সংখ্যার ইনপুটগুলির স্থির হিসাবে +92 বাইটস see দেখবেন আমি আবার কোনও ভিন্ন পদ্ধতির সাথে এটিকে নামিয়ে আনতে পারি কিনা।

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

ব্যাখ্যা:

s->{                        // Method with character-array parameter and String return-type
  int i=32,                 //  Index-integer, starting at 32
      t;                    //  Temp-integer, uninitialized
  String M[]=new String[i], //  Create a String-array of size 32, filled with null by default
         R="",              //  Result-String, starting empty
         r;                 //  Temp-String, uninitialized
  for(var c:s)              //  Loop over the characters of the input-array:
    M[c%32]+=               //   Append the string at index code-point of `c` modulo-32 with:
     c>64&c<91|c>96&c<123?  //    If the character is a letter:
      c                     //     Append the character
     :                      //    Else:
      R;                    //     Append an empty String
  for(;i-->0                //  Loop `i` in the range (32, 0]:
      ;                     //    After every iteration:
       M[i]=                //     Replace the String at index `i` with:
        (t=r.length()-4)    //      Set `t` to the length of String `r` minus 4
                            //      (the minus 4 is for the prepended "null")
         >0?                //      If this length minus 4 is larger than 0:
          t                 //       Set the String to this length minus 4
          +r.split(R)[t+3]  //       Appended with the last character of `r` as String
         :                  //      Else:
          R)                //       Make the String at index `i` empty
    r=M[i]                  //   Set `r` to the `i`'th String
          +R;               //  Converted to String
                            // (null becomes "null", to prevent NullPointerException-errors)
  java.util.Arrays.sort(M,  //  Now sort the array of Strings on:
   (a,b)->                  //   For each pair of two Strings:
     new Byte(              //    Convert the first String to a number
      (0+a).replaceAll("\\D",""))
                            //    after we've added a leading 0 and removed all non-digits
    .compareTo(             //   And compare it to:
     new Byte(              //    The second String converted to a number
      (0+b).replaceAll("\\D",""))));
                            //    after we've added a leading 0 and remove all non-digits
  for(var p:M)              //  Loop over the Strings of the array:
    R+=p;                   //   And append each to the result-String `R`
  return R;}                //  And finally return the result-String `R`

1
@ শেগি ডাং .. ৯২ বাইটের মূল্যের জন্য নির্ধারিত ..> << আমি দেখতে পাচ্ছি যে আমি আবার তুলনামূলক
তুলনাকারী

সেকি! এর জন্যে দুঃখিত!
শেগি


2

সুইফট 4.2.1 / এক্সকোড 10.1 , 1054 1050 1048 370 368 364 বাইট

s.map{String($0)}.filter{$0.rangeOfCharacter(from:.letters) != nil}.reversed().reduce(into:[String:Int]()){d,s in if let l=[s.uppercased(),s.lowercased()].first(where:{d[$0] != nil}){d[l]=d[l]!+1}else{d[s]=1}}.sorted{let c=$0.value-$1.value;return c==0 ?$0.key.compare($1.key,options:.caseInsensitive) == .orderedAscending:c<0}.map{"\($0.value)\($0.key)"}.joined()

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

@ কেভিন ক্রুজসেনও কিছু স্থান সরিয়ে নিয়েছে।


হাই, পিপিসিজিতে আপনাকে স্বাগতম! আমি সুইফট জানি না, কিন্তু মনে হচ্ছে আপনি কিছু স্পেস অপসারণ করতে ভুলে গেছি, এবং আপনি সব গলফ পারেন falseকরতে 0>1এবং trueকরতে 1>0অনলাইনে এটি 1027 বাইট ব্যবহার করে দেখুন । সম্ভবত আপনার বোঝা ডুপ্লিকেট মত আরও লোড গল্ফ করা যেতে পারে if let v=$0.key.escaped(asASCII:0>1).lowercased().unicodeScalars.first?.value{return v<$1.key.value}else{return 0>1}, কিন্তু আমি সুইফট জানেন যে কেউ এটি ছেড়ে চলে যেতে হবে।
কেভিন ক্রুইজসেন

1
এছাড়াও, যদি আপনি যদি এখনো দেখা যায় না: মধ্যে golfing <সমস্ত ভাষা> জন্য টিপস এবং সুইফট মধ্যে golfing জন্য টিপস মাধ্যমে পড়া আকর্ষণীয় হতে পারে। আবার স্বাগতম, এবং আপনার থাকার উপভোগ করুন! :)
কেভিন ক্রুইজসেন

হ্যালো @ কেভিন ক্রুজসেন। টিপসের জন্য ধন্যবাদ, আমি সরিয়েছি trueএবং falseআমার উত্তর থেকে।
রোমান পোডিমভ

1
ভাল, আপনি আপনার প্রাথমিক 1000+ বাইট থেকে এটি বেশ গল্ফ করেছেন। :) আমি আরও 6 টি স্পেস দেখতে পাচ্ছি যা সমস্ত-সাইন =ইন করার পরে / আগে সরিয়ে ফেলা যায় : অনলাইনে 364 বাইট চেষ্টা করে দেখুন । উপভোগকর তোমার থাকা! :)
কেভিন ক্রুইজসেন

1

কাঠকয়লা , 30 বাইট

F⌈Eβ№↧θιFβ¿⁼№↧θκ⊕ι⁺⊕ι§Φθ⁼↧λκ±¹

এটি অনলাইন চেষ্টা করুন! লিঙ্কটি কোডটির ভার্জোজ সংস্করণ। ব্যাখ্যা:

F⌈Eβ№↧θι

ছোট হাতের বর্ণমালা দিয়ে চালান এবং নিম্নতর ইনপুটটিতে সর্বাধিক অক্ষর গণনা সন্ধান করুন। অন্তর্নিহিত পরিসীমা উপর লুপ। (লুপ আসলে থেকে যায় 0কাছে n-1তাই আমি প্রতিটি ব্যবহারের এ লুপ পরিবর্তনশীল বাড়ায় করতে হবে।)

Fβ

আবার ছোট হাতের বর্ণমালার উপরে লুপ করুন।

¿⁼№↧θκ⊕ι

যদি বর্তমান বর্ণের গণনা বাহ্যিক লুপ মানের সমান হয় ...

⁺⊕ι§Φθ⁼↧λκ±¹

বর্তমান চিঠির শেষ ঘটনাটির সাথে বর্তমান গণনাটিকে সংবিধানবদ্ধ করুন এবং স্পষ্টভাবে মুদ্রণ করুন।



1

নোডজেএস, 299 বাইট, -6 বাইট @th ধন্যবাদ to

তেমন সৌন্দর্য নয় তবে এটি কাজ করে!

(x,l={},g=p=>p.charCodeAt(),q=p=>p.toLowerCase())=>Object.entries([...x[R='replace'](/[^a-z]/gi,'')].reduce((m,n)=>(r=q(n),l[r]=g(n)>96?1:0,{...m,[r]:-~m[r]}),{})).sort((a,b)=>a[1]^b[1]?a[1]-b[1]:g(q(a[0]))-g(q(b[0]))).map(([m,n])=>[n,m]).join``[R](/,/g,'')[R](/[a-z]/g,v=>l[v]?q(v):v.toUpperCase())

জাভাস্ক্রিপ্ট (ES8) (ফায়ারফক্স বা ক্রোম), 294 বাইট, -1 বাইট @th ধন্যবাদ

নতুন .flatপদ্ধতিতে, আমি 10 বাইট সংরক্ষণ করতে পারি:

(x,l={},g=p=>p.charCodeAt(),q=p=>p.toLowerCase())=>Object.entries([...x[R='replace'](/[^a-z]/gi,'')].reduce((m,n)=>(r=q(n),l[r]=g(n)>96?1:0,{...m,[r]:-~m[r]}),{})).sort((a,b)=>a[1]^b[1]?a[1]-b[1]:g(q(a[0]))-g(q(b[0]))).map(([m,n])=>[n,m]).flat().join``[R](/[a-z]/g,v=>l[v]?q(v):v.toUpperCase())

এটি অনলাইনে ব্যবহার করে দেখুন: https://repl.it/repls/ConcernedHorphanHypothesis


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

@ জোনাথানফ্রেচ আমি কেবল পরীক্ষার কেস যুক্ত করেছি, আপনাকে ধন্যবাদ!
চাউ গিয়াং

.replacex 3 বার -> [R='replace]এবং [R]x 2 বার
tsh

.charCodeAt(0)-> .charCodeAt()( 0ডিফল্ট)
tsh

@tsh আপনার সমস্ত ভাল টিপসের জন্য আপনাকে অনেক ধন্যবাদ, আমি স্রেফ আমার উত্তরটি আপডেট করেছি!
চৌ জিয়াং


1

জুলিয়া 1.0 , 158 বাইট

¬t=(c=Dict();C=Dict();for i=eachmatch(r"\w",t);l=i.match;k=lowercase(l);c[k]=get(c,k,0)+1;C[k]=l;end;*(["$v$(C[k])" for (v,k)=sort([(v,k) for (k,v)=c])]...))

একই যুক্তি সহ আসল প্রকৃতির সংস্করণ:

function password(text)
    letter_counts = Dict()
    cases = Dict()

    for i in eachmatch(r"\w", text)
        letter = i.match[1]
        letter_key = lowercase(letter)
        letter_counts[letter_key] = get(letter_counts, letter_key, 0) + 1
        cases[letter_key] = letter
    end

    sorted_counts = sort([(value, key) for (key, value) in letter_counts])

    return string(["$v$(cases[k])" for (v,k) in sorted_counts]...)
end

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


0

পার্ল 6, 86 82 বাইট

{[~] flat map *[0,2],sort map {+$^b,$^a,$b[*-1]},kv classify &lc,.comb: /<alpha>/}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.