আমার বুদ্বুদ পত্রকটি পূরণ করুন


18

আজ আমার স্কুলে এপি পরীক্ষার নিবন্ধনের দিন ছিল এবং আমি যখন প্রয়োজনীয় পৃষ্ঠাগুলি এবং প্রয়োজনীয় পৃষ্ঠাগুলিতে সাবধানতার সাথে বুদবুদ দিচ্ছিলাম, তখন এই চ্যালেঞ্জের ধারণাটি আমাকে আঘাত করেছিল। সুতরাং, অক্ষর এবং সংখ্যার একটি স্ট্রিং দেওয়া, আউটপুট একটি যথাযথভাবে পূরণ করা বুদ্বুদ চার্ট।

নিয়মাবলী:

  • ইনপুট স্ট্রিংয়ের প্রতিটি চরিত্রের জন্য, সংশ্লিষ্ট কলামে সেই অক্ষরটি একটি #বা @অন্য কোনও যুক্তিসঙ্গত চিহ্নের সাথে প্রতিস্থাপন করুন (যদি আপনার ভাষা এটি পরিচালনা করতে পারে তবে ইউনিকোডের অক্ষর 'ফুল_ব্লক': really সত্যিই ভাল দেখাচ্ছে)
  • একটি স্থান ফাঁকা কলাম দ্বারা উপস্থাপিত হয় (উদাহরণগুলি দেখুন)
  • বৈধ ইনপুটটি একটি স্ট্রিং হবে যা কেবলমাত্র বড় হাতের অক্ষর, সংখ্যাসূচক সংখ্যা এবং স্পেস নিয়ে গঠিত।
  • সর্বনিম্ন 1 এবং সর্বোচ্চ 32 টি অক্ষরের সাথে ইনপুট দৈর্ঘ্যের হবে।
  • আউটপুট অবশ্যই UPPERCASE হতে হবে
  • যদি ইনপুট দৈর্ঘ্য 32-এর সর্বোচ্চ দৈর্ঘ্যের চেয়ে কম হয় তবে আপনার প্রোগ্রামটি এখনও অবশিষ্ট ফাঁকা কলামগুলিকে আউটপুট দিতে হবে
  • আপনার প্রোগ্রামকে ছোট হাতের ইনপুট একই রকম হ্যান্ডেল করতে হবে না যেমন তারা বড় হাতের অক্ষর, তবে বোনাস পয়েন্ট যদি তা পারে।

বোর্ড ফর্ম্যাট:

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP
QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
00000000000000000000000000000000
11111111111111111111111111111111
22222222222222222222222222222222
33333333333333333333333333333333
44444444444444444444444444444444
55555555555555555555555555555555
66666666666666666666666666666666
77777777777777777777777777777777
88888888888888888888888888888888
99999999999999999999999999999999

উদাহরণ:

CODE GOLF ->

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
█CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
DD█DDDDDDDDDDDDDDDDDDDDDDDDDDDDD
EEE█EEEEEEEEEEEEEEEEEEEEEEEEEEEE
FFFFFFFF█FFFFFFFFFFFFFFFFFFFFFFF
GGGGG█GGGGGGGGGGGGGGGGGGGGGGGGGG
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
LLLLLLL█LLLLLLLLLLLLLLLLLLLLLLLL
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
O█OOOO█OOOOOOOOOOOOOOOOOOOOOOOOO
PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP
QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ
00000000000000000000000000000000
11111111111111111111111111111111
22222222222222222222222222222222
33333333333333333333333333333333
44444444444444444444444444444444
55555555555555555555555555555555
66666666666666666666666666666666
77777777777777777777777777777777
88888888888888888888888888888888
99999999999999999999999999999999


ABCDEFGHIJKLMNOPQRSTUVWXYZ012345 ->

@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
B@BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
CC@CCCCCCCCCCCCCCCCCCCCCCCCCCCCC
DDD@DDDDDDDDDDDDDDDDDDDDDDDDDDDD
EEEE@EEEEEEEEEEEEEEEEEEEEEEEEEEE
FFFFF@FFFFFFFFFFFFFFFFFFFFFFFFFF
GGGGGG@GGGGGGGGGGGGGGGGGGGGGGGGG
HHHHHHH@HHHHHHHHHHHHHHHHHHHHHHHH
IIIIIIII@IIIIIIIIIIIIIIIIIIIIIII
JJJJJJJJJ@JJJJJJJJJJJJJJJJJJJJJJ
KKKKKKKKKK@KKKKKKKKKKKKKKKKKKKKK
LLLLLLLLLLL@LLLLLLLLLLLLLLLLLLLL
MMMMMMMMMMMM@MMMMMMMMMMMMMMMMMMM
NNNNNNNNNNNNN@NNNNNNNNNNNNNNNNNN
OOOOOOOOOOOOOO@OOOOOOOOOOOOOOOOO
PPPPPPPPPPPPPPP@PPPPPPPPPPPPPPPP
QQQQQQQQQQQQQQQQ@QQQQQQQQQQQQQQQ
RRRRRRRRRRRRRRRRR@RRRRRRRRRRRRRR
SSSSSSSSSSSSSSSSSS@SSSSSSSSSSSSS
TTTTTTTTTTTTTTTTTTT@TTTTTTTTTTTT
UUUUUUUUUUUUUUUUUUUU@UUUUUUUUUUU
VVVVVVVVVVVVVVVVVVVVV@VVVVVVVVVV
WWWWWWWWWWWWWWWWWWWWWW@WWWWWWWWW
XXXXXXXXXXXXXXXXXXXXXXX@XXXXXXXX
YYYYYYYYYYYYYYYYYYYYYYYY@YYYYYYY
ZZZZZZZZZZZZZZZZZZZZZZZZZ@ZZZZZZ
00000000000000000000000000@00000
111111111111111111111111111@1111
2222222222222222222222222222@222
33333333333333333333333333333@33
444444444444444444444444444444@4
5555555555555555555555555555555@
66666666666666666666666666666666
77777777777777777777777777777777
88888888888888888888888888888888
99999999999999999999999999999999

ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ->^^^

এবং অবশ্যই, এটি , তাই সংক্ষিপ্ত উত্তর জেতে


7
ইনপুট বৈধতা সাধারণত নিরুৎসাহিত করা হয়, সুতরাং আপনি কেবল ইনপুট ম্যাচ করতে পারেন এবং এর সাথে মেলে [A-Z0-9]{1,32}না এমন ইনপুটগুলির জন্য কোনও আচরণের অনুমতি দিতে পারেন।
জিউসেপে

1
হাসিখুশিভাবে বিরক্তিকর এই বিষয়টি যে '0' ASCII কোড> 'এ' এর আগে আসে :(
এলওএল

"বৈধ ইনপুটটি একটি স্ট্রিং হবে যা বুদ্বুদ শীটের পাশাপাশি ফাঁকা স্থানগুলিতে উপস্থিত অক্ষরগুলি দ্বারা গঠিত" তবে আপনি আরও উল্লেখ করেন যে "বড় বড় অক্ষর, শূন্যস্থান এবং সংখ্যাসূচক ব্যতীত অন্য কোনও অক্ষর বা 32 অক্ষরের সীমা ছাড়াই অবহেলা করা উচিত " , সুতরাং এটি কোনটি?
ক্রিটিকি লিথোস

1
তবে প্রথম বিবৃতি অনুসারে, আপনি বলেছিলেন যে $ইনপুটগুলিতে উপস্থিত হবে না
কৃতিক্সিত লিথোস

1
এখন আপনি চশমা থেকে অঙ্কগুলি এবং অসম্পূর্ণ অক্ষর অপসারণ করেছেন, আপনি উদাহরণগুলি থেকে এগুলি সরাতেও পারেন।
তিতাস

উত্তর:


4

হুশ , 23 বাইট

mż§?'#|=⁰mR32¤+…"AZ""09

অনলাইনে এটিকে পরখ করে বা এটা চেষ্টা অভিনব █ চরিত্র (কিন্তু একটি অবৈধ bytecount) সঙ্গে!

দুর্ভাগ্যক্রমে আমি দু'জনকে mapএকটিতে মার্জ করতে সক্ষম হইনি (24 বাইটের দামের বন্ধনী ব্যবহার বাদে) ..

ব্যাখ্যা

mż§?'#|=⁰mR32¤+…"AZ""09"  -- expects string as argument, eg. "FOO"
             ¤            -- with the two strings "AZ" "09" ..
               …          -- | fill ranges: "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
                          -- |              "0123456789"
              +           -- .. and concatenate: "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
          m               -- map the following (eg. with 'X')
                          -- | replicate 32 times: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
                          -- : ["A…A","B…B",…,"Z…Z","0…0",…"9…9"]
m                         -- map the following (eg. with "F…")
 ż      ⁰                 -- | zipWith (keeping elements of longer list) argument ("FOO")
  §?   =                  -- | | if elements are equal
    '#                    -- | | | then use '#'
      |                   -- | | | else use the first character
                          -- | : ["#FF…F"]
                          -- : ["A…A",…,"#FF…F",…,"O##O…O",…,"9…9"]

4

রুবি , 62 বাইট

->s{[*?A..?Z,*?0..?9].map{|c|(0..31).map{|i|c==s[i]??@:c}*''}}

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

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


3

সি (জিসিসি) , 132 126 বাইট

char*s="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789",*_,*a;f(char*x){for(_=s;*_;++_,puts(""))for(a=s;*a;)putchar(x[a++-s]-*_?*_:64);}

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

6 বাইট সংরক্ষণ করার জন্য জোনাথন ফ্র্যাচকে ধন্যবাদ।


puts("")সমতূল্য putchar(10)
জোনাথন ফ্রেচ

++a)putchar((x[a-s]-*_)?*_:64);-> )putchar(x[a++-s]-*_?*_:64);
জোনাথন ফ্রেচ

আপনি যদি নিয়মগুলি কিছুটা বাঁকতে রাজি হন তবে আপনি গল্ফও 64করতে পারেন 1
জোনাথন ফ্রেচ

আপনি যদি করেন, putcharকলটি গল্ফ হতে পারে putchar(*_*(*_!=a[x-s]));
জোনাথন ফ্রেচ

সাধারণত আমি এর জন্য নিয়মগুলি বাঁকিয়ে দিয়ে ঠিক হয়ে যাব ... তবে 1 একটি ভরাট আয়তক্ষেত্র বা একটি @ চিহ্ন থেকে খুব আলাদা জন্তু। অন্যান্য পরিবর্তনগুলি দরকারী - আপডেট হবে।
লাম্বদাবেতা

3

লাল , 177 বাইট

func[s][m: copy[]foreach c a:"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"[insert/dup r: copy"^/"c 32 append m r]j: 0
foreach c s[j: j + 1 if c <>#" "[m/(index? find a c)/(j): #"@"]]m]

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

আরও পঠনযোগ্য:

f: func[s][
    m: copy[]
    a:"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
    foreach c a[
        insert/dup r: copy "^/" c 32
        append m r
    ]
    j: 0
    foreach c s[
        j: j + 1
        if c <>#" "[m/(index? find a c)/(j): #"@"]
    ]
    m
]

3

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

E⁺α⭆…αχκ⭆…◨θφ³²⎇⁼ιλ#ι

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

  α  α                  Uppercase alphabet predefined variable
      χ                 Predefined variable 10
    …                   Chop to length
   ⭆                    Map over characters and join
       κ                Current index
 ⁺                      Concatenate
E                       Map over characters into array
           θ            Input string
            φ           Predefined variable 1000
          ◨             Right pad to length
             ³²         Literal 32
         …              Chop to length
        ⭆               Map over characters and join
                 ι  ι   Current outer character
                  λ     Current inner character
                ⁼       Equals
                   #    Literal `#`
               ⎇        Ternary
                        Implicitly print each result on its own line

ইনপুট বৈধতা সহ পূর্ববর্তী সংস্করণ, 34 32 বাইট। সম্পাদনা করুন: কেবলমাত্র ASCII- এর জন্য 2 বাইট সংরক্ষণ করা হয়েছে

≔⁺α⭆…αχκαEα⭆…◨Φθ∨⁼ι №αιφ³²⎇⁼ιλ#ι

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


: / আপনি শেষের দিকে একটি ঘনিষ্ঠ পেরেন নিখোঁজ রয়েছেন
ASCII- কেবল

এই দেখে মনে হচ্ছে এটি কাজ করে। (ওল্ফ্রাম StringReplace) একটি পাশের নোটে, একটি প্রতিস্থাপন বিল্টিনটি সত্যই সহজ হবে
এএসসিআইআই-

কিছু মনে করবেন না, আমি জানি না আমি কী করছিলাম। 27 বাইট - আপনার প্রয়োজন নেইCast
এএসসিআইআই-

এছাড়াও, পুনরায়: আপনি পূর্বে জিজ্ঞাসা করা হয়েছিল নির্বিচারে চরিত্রযুক্ত প্যাড: আপনি কি মনে করেন যে এটি বিল্টিন হিসাবে যুক্ত করার জন্য যথেষ্ট কার্যকর হবে? বা সম্ভবত একটি দ্বি-চরিত্রের অন্তর্নির্মিত হিসাবে?
ASCII- কেবল



3

জেলি ,  18  17 বাইট

ØA;ØDWẋ32ɓ,€⁶y"ZY

একটি স্থান অক্ষর ব্যবহার করে। ব্যবহার করতে #প্রতিস্থাপন সঙ্গে ”#এক বাইট ব্যয়ে জন্য।

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

কিভাবে?

ØA;ØDWẋ32ɓ,€⁶y"ZY - Main Link: list of characters, S   e.g.  ['S','P','A','M']
ØA                - upper-case alphabet characters           ['A','B',...,'Z']
   ØD             - digit characters                         ['0','1',...,'9']
  ;               - concatenate                              ['A','B',...,'Z','0','1',...,'9']
     W            - wrap in a list                           [['A','B',...,'Z','0','1',...,'9']]
      ẋ32         - repeat 32 times                          [['A','B',...,'Z','0','1',...,'9'],...,['A','B',...,'Z','0','1',...,'9']]
         ɓ        - start a new dyadic chain with that on the right
            ⁶     - space character                          ' '
          ,€      - pair €ach of S with a space              [['S',' '],['P',' '],['A',' '],['M',' ']]
              "   - zip with:
             y    -   translate (replace 'S' with ' ' in 1st, 'P' with ' ' in 2nd, ...) -- Note: zip is a zip-longest, so trailing lists remain
                Z  - transpose
                 Y - join with line-feeds
                   - implicit print

আমি একটি বাইট সংরক্ষণ করতে পারি।
এরিক আউটগল্ফার

ওয়েলপ, আমি ³Ḣ,⁶yØA;ØD¤µ32СZY18 এ পেয়েছি যা আমি মনে করি এটিও অসম্ভব! যদিও বাইরে যাচ্ছি ...
জোনাথন অ্যালান

সুতরাং, স্পষ্টতই, এটি যে বাইটটি আমি উল্লেখ করছি তা নয়। :) আরও চেষ্টা করুন ...
এরিক আউটগল্ফার

আশ্চর্যজনক আমি মোবাইল 17 বাইটে
জোনাথন অ্যালান

আমার আসলে এই ছিল , কিন্তু অভিনন্দন!
এরিক আউটগল্ফার

2

সি ++ 14, 319 বাইট 237

কোডগল্ফের সবচেয়ে খারাপ ভাষায়: এটি করা আমার প্রথমবার

char c;string k="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789",s;int main(){map<char,vc>g;g[' ']=vc(32,' ');for(char c:k)g[c]=vc(32,c);getline(cin,s);for(int i=0;i<s.length();i++)g[s[i]][i]='@';for(char d:k){for(char x:g[d])cout<<x;cout<<'\n';}}

অনলাইনে চেষ্টা করে দেখুন!


প্রশ্ন: আমার হেডারটি অন্তর্ভুক্ত করা দরকার?
এনএল 628

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

আমি কি প্রধান () এর পরিবর্তে পরামিতিগুলির সাথে ফাংশন হিসাবে এটি আবার লিখতে পারি?
এনএল 628

@ এনএল 628 হ্যাঁ আপনি পারেন। সি ++ এ গল্ফ করার টিপস দেখুনআরও সহায়তার জন্য । সম্পাদনা: সি ++ এ লিঙ্ক পরিবর্তন করা হয়েছে
জিউস্পে

1
কেউ কোবল? আমি এতে কখনও কোডের একটি লাইন লিখিনি, তবে কোড গল্ফের জন্য সিওবিওএল ব্যবহার করা একটি আকর্ষণীয় চ্যালেঞ্জ হতে পারে।
হ্যান্স-মার্টিন মোসনার

2

নোড.জেএস, 85 বাইট

@ ড্যানিয়েল ইন্ডি দ্বারা প্রস্তাবিত পোর্ট টু নোড.জেএস

f=(s,x=544,c=Buffer([48+x/32%43]))=>x<1696?(s[x&31]==c?'@':c)+[`
`[++x&31]]+f(s,x):''

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


জাভাস্ক্রিপ্ট (ES6), 103 98 বাইট

f=(s,x=544,n=x>>5,c=String.fromCharCode(48+n%43))=>n<53?(s[x&31]==c?'@':c)+[`
`[++x&31]]+f(s,x):''

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


90 বাইট কিভাবে এই সম্পর্কে?
ড্যানিয়েলইন্ডি

@ ড্যানিয়েলইন্দি ধন্যবাদ! যোগ করা হয়েছে। (আমাদের সত্যিই +""
এটির

আমাদের কখনই রূপান্তর করতে হবে কিনা তা আমি কখনই জানি না তাই আমি এটি সম্পর্কে ভাবতে চাই না: পি তবে হ্যাঁ, আপনার আসলে এটির প্রয়োজন নেই :)
ড্যানিয়েলইন্ডি

@ ড্যানিয়েলআইডি আহ, এখন আমরা x/32আরও 2 টি বাইট সংরক্ষণ করতে ব্যবহার করতে পারি , যেহেতু Bufferপূর্ণসংখ্যার প্রতি জোর করা হয়।
আরনৌল্ড

f=(s,x=561,c=Buffer([48+x/33%43]))=>x<1749?(s[x++%33]==c?'@':x%33?c:`\n`)+f(s,x):''
l4m2


2

Haskell, , 86 বাইট

অনেক ভাল পদ্ধতির জন্য (এবং কম বাইট), লাইকোনির সমাধান দেখুন !

f x=(x#).(<$[1..32])<$>['A'..'Z']++['0'..'9']
(a:b)#(u:v)=last(u:['#'|a==u]):b#v
_#w=w

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

বিকল্প হিসাবে একই বাইট কাউন্টের জন্য আমরা ব্যবহার করতে পারি:

(a:b)#(u:v)|a==u='#':b#v|0<3=u:b#v

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

ব্যাখ্যা / অবহেলিত

অপারেটরটির (#)সাথে খুব মিল রয়েছে zipWithতবে ফাংশনটি হার্ডকোডেড, স্ট্যান্ডার্ড। এটি ব্যবহার করে #যদি দুটি অক্ষর সমান হয় এবং অন্যথায় এটি দ্বিতীয়টি অক্ষত রাখে:

(a:b) # (u:v)
   | a == u    = '#' : b # v
   | otherwise =  u  : b # v

যদি প্রথম তালিকাটি নিঃশেষ হয়ে যায় তবে এটি কেবলমাত্র দ্বিতীয়টির বাকি উপাদানগুলিকে সংযোজন করে:

_ # w = w

সেই সাহায্যকারীর সাহায্যে আমাদের কেবল স্ট্রিং তৈরি করতে হবে "A..Z0..9", প্রতিটি উপাদানকে 32 বার প্রতিলিপি তৈরি করতে হবে এবং প্রতিটি স্ট্রিং দিয়ে ইনপুটটি জিপ করা উচিত,

f x = map ((x#) . replicate 32) (['A'..'Z'] ++ ['0'..'9'])


@ লাইকোনি: লজ্জাজনক যে এটি মাত্র 1 বাইট কম, এটি একটি সত্যই চালাক ব্যবহার max। আমার মতে এটি আপনার নিজের সমাধান হিসাবে পোস্ট করা উচিত কারণ এটি আমার সমাধান থেকে খুব আলাদা।
20

আমি একটি 74 বাইট সংস্করণ পোস্ট করেছি ।
লাইকনি

2

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

f x=[do a<-take 32$x++cycle" ";max[c]['~'|a==c]|c<-['A'..'Z']++['0'..'9']]

এটি অনলাইন চেষ্টা করুন! একটি ইনপুট স্ট্রিং xস্পেস সহ 32 টি দৈর্ঘ্যের প্যাডযুক্ত take 32$x++cycle" "। প্রতিটি অক্ষরের জন্য cথেকে Aথেকে Zএবং 0থেকে 9, আমরা অক্ষর তাকান aপ্যাডেড ইনপুট স্ট্রিং থেকে এবং তাদের দ্বারা প্রতিস্থাপন ~যখন aএবং cসমান এবং দ্বারা হয় cঅন্যথায়। এটি অর্জন করে max[c]['~'|a==c], যা উদাহরণস্বরূপ max "A" "~" = "~"কখন a = c = 'A', max "A" "" = "A"কখন c = 'A'এবং কখন a = 'B'। যেহেতু এটি একটি চরের পরিবর্তে একক স্ট্রিং দেয়, doনোটেশনটি ব্যবহৃত হয় যা একক স্ট্রিংতে একক স্ট্রিংকে যুক্ত করে।

বিএমওর হাস্কেল সমাধানের ভিত্তিতে ।


2

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

উচ্চ এবং নিম্ন উভয় অক্ষর সমর্থন করে এবং ফাঁকা স্থানগুলির জন্য একটি অসম্পূর্ণ কলাম ছেড়ে যায়।

def f(s):
 s=s.upper()
 for j in"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789":print"".join(j if(len(s)<=i)or(s[i]!=j)else'@'for i in range(32))

যদি বোনাসটির মূল্য না হয় তবে আমি 125 বাইটের জন্য যাব এবং কেবলমাত্র বড় হাতের ইনপুট সমর্থন করি:

def f(s):
 for j in"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789":print"".join(j if(len(s)<=i)or(s[i]!=j)else'@'for i in range(32))

2

স্ট্যাক্স , 15 বাইট

╛dδÑ-═E↑\≈Fà±AG

এটি চালান এবং এটি ডিবাগ করুন

এটি '#'একটি ভরা বুদবুদ নির্দেশ করতে ব্যবহার করে।

আনপ্যাকড, নিরবচ্ছিন্ন এবং মন্তব্য করা হয়েছে, এটি দেখতে এটির মতো দেখাচ্ছে।

32(     right-pad or truncate to 32
{       begin block for mapping
  VAVd+ "A..Z0..9"
  s'#+  move input character to top of stack and append "#". e.g. "C#"
  |t    translate; replace the first character with the second in string
m       perform map using block
Mm      transpose array of arrays and output each line

এটি চালান


1

পাইথ, 23 20 বাইট

j.Tm:s+r1GUTdN.[Qd32

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

ব্যাখ্যা

j.Tm:s+r1GUTdN.[Qd32
              .[Qd32      Pad the input to 32 characters.
   m                      For each character...
     s+r1GUT              ... get the string "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"...
    :       dN            ... with the character replaced by a '"'.
j.T                       Transpose the lines and print them all.

1

এপিএল + উইন, 56 বাইট

ইনপুট স্ট্রিংয়ের জন্য অনুরোধ জানায় এবং সনাক্তকারী হিসাবে # টি অক্ষর ব্যবহার করে:

m←⍉32 36⍴⎕av[(65+⍳26),48+⍳10]⋄((,m[;1]∘.=32↑⎕)/,m)←'#'⋄m

ব্যাখ্যা:

m←⍉32 36⍴⎕av[(65+⍳26),48+⍳10] create the table

32↑⎕ pad the input string to 32 characters with spaces

(,m[;1]∘.=32↑⎕) use outer product with = to identify characters in table

((,m[;1]∘.=32↑⎕)/,m)←'#' replace characters with #

m display table

⋄ statement separator

1

সি (জিসিসি) , 124 বাইট

f(s,b,x,y)char*s,b[33];{sprintf(b,"%-32.32s",s);for(x=0;++x<36;puts(""))for(y=x+21+43*(x<27),s=b;*s;putchar(*s++==y?35:y));}

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

একটি হার্ড-কোডেড অ্যারের পরিবর্তে, আমি পরিবর্তে এটি একটি লুকিং ফাংশন দিয়ে প্রতিস্থাপন করেছি। ভাগ্যক্রমে ASCII অক্ষর সেটটিতে বর্ণানুক্রমিক এবং সংখ্যাযুক্ত রেঞ্জ রয়েছে (আমি আপনাকে দেখছি, EBCDIC!) পাশাপাশি, আমি আউটপুটটি ঠিক 32 টি অক্ষর ব্যবহার করে রাখার বিষয়টি নিশ্চিত করেছিলাম sprintf(): যদি এই কাজের প্রয়োজন না হয় তবে ফাংশন হবে 97 বাইট:

f(s,i,x,y)char*s,*i;{for(x=0;++x<36;puts(""))for(y=x+21+43*(x<27),i=s;*i;putchar(*i++==y?35:y));}

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



1

সিজেম , 31 বাইট

q32Se]{'[,65>A,s+S+_@#St);}%zN*

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


যদি হোয়াইটস্পেস অনুসরণের অনুমতি দেওয়া হয় তবে এটি 29 বাইটের জন্য কাজ করে :

q32Se]{'[,65>A,s+S+_@#St}%zN*

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


এখানে একটি 34-বাইট প্রকরণ যা এর পরিবর্তে ইউনিকোড পূর্ণ ব্লক ( ) ব্যবহার করে:

q32Se]{'[,65>A,s+S+_@#'█t);}%zN*

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


ব্যাখ্যা

q                                Input.
    e]                           Pad to a length of
 32                                32
                                 with
   S                               spaces.
      {                   }%     For each character:
                                   Get the uppercase alphabet by
            >                        dropping the first
          65                           65
                                     elements of
         ,                             the range of characters below
       '[                                '['.
                +                  Append
               s                     the string version
              ,                        of the range of numbers below
             A                           10.
                  +                Append
                 S                   a space.
                     #             Find the index of
                    @                the character.
                       t           Set this index to
                      S              a space
                   _               in the original array.
                        );         Drop the space at the end.
                                   Yield this modified array.
                                 End for. The result is an array of arrays of characters.
                            z    Transpose this array, turning rows into columns.
                             N*  Join the result on newlines.


1

05 এ বি 1 , 19 বাইট

RтúR32£vžKuÙyð:})ø»

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

ব্যাখ্যা

R                     # reverse
 тú                   # prepend 100 zeroes
   R                  # reverse
    32£        }      # take the first 32 characters
       v              # for each character
        žK            # push a string of [a-zA-Z0-9]
          uÙ          # upper case and remove duplicates
            yð:       # replace current character with space
                )ø    # transpose
                  »   # join by newline

a[b]আপনি এখানে যেমন চান তেমন কাজ করে না, এটি করে: পি?
ম্যাজিক অক্টোপাস উরন

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

1

এমএটিএল , 21 বাইট

1Y24Y2vjO33(32:)y=~*c

চিহ্নিতকারী চরিত্র হিসাবে একটি স্থান ব্যবহার করে।

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

ব্যাখ্যা

1Y2     % Push 'AB...YZ'
4Y2     % Push '01...89'
v       % Concatenate into a 36×1 column vector of chars
j       % Push unevaluated input: string of length n, or equivalently 1×n
        % row vector of chars
O33(    % Write 0 at position 33. This automatically writes a 0 at postions
        % n+1, n+2, ..., 32 too
32:)    % Keep only the first 32 entries: gives a 1×32 row vector
y       % Duplicate from below: pushes a copy of the 36 ×1 column vector
=~      % Test for non-equal entries, with broadcast. Gives a 33×32 matrix
        % containing 0 for matching entries, and 1 otherwise
*       % Multiply this matrix by the 1×32 row vector, with broadcast. This
        % changes each 1 into the corresponding character in the input
c       % Convert to char. Implicitly display. Char 0 is displayed as space

1

কমন লিস্প , 150 বাইট

(setq s(format nil"~32a"(read-line)))(map nil(lambda(i)(map nil(lambda(j)(princ(if(eq i j)#\# i)))s)(princ"
"))"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789")

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

ব্যাখ্যা

;; pad input to 32 spaces on the right
(setq s(format nil"~32a"(read-line)))
;; for each character in bubble sheet, for each character in input:
;; if characters are equal print "#"
;; else print bubble sheet character
(map nil(lambda(i)(map nil(lambda(j)(princ(if(eq i j)#\# i)))s)(princ"
"))"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789")

1

জাভা 10, 120 118 117 বাইট

s->{var r="";for(char c=65,i;c<91&c!=58;r+="\n",c+=c<90?1:-42)for(i=0;i<32;i++)r+=i<s.length&&s[i]==c?35:c;return r;}

এটি অনলাইনে ব্যবহার করে দেখুন (টিআইওর জন্য আমি '█' ব্যবহার করেছি ( 9608পরিবর্তে35 আরও ভাল দৃশ্যমানতার জন্য ) ব্যবহার করেছি)।

ব্যাখ্যা:

s->{                   // Method with character-array parameter and String return-type
  var r="";            //  Result-String, starting empty
  for(char c=65,i;     //  Start character `c` at 'A'
      c<91&c!=58       //  Loop as long as `c` is 'Z' or smaller, and is not '9'
      ;                //    After every iteration:
       r+="\n",        //     Append a new-line to the result-String
       c+=c<90?        //     If `c` is not 'Z' yet
           1           //      Go to the next character ASCII-value-wise
          :            //     Else:
           -42)        //      Change the 'Z' to '0'
    for(i=0;i<32;i++)  //    Inner loop `i` in the range [0,32)
      r+=i<s.length    //     If we're not at the end of the input array yet,
         &&s[i]==c?    //     and the characters in the column and array are the same
          35           //      Append the filler-character '#'
         :             //     Else:
          c;           //      Append the current character instead
  return r;}           //  Return the result-String

1

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

$
36* 
L`.{36}
.
36*@$&¶
Y`@`Ld
(.)(.*)\1
@$2
N$`\S
$.%`
L`.{32}

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


$
36* 
L`.{36}

ডানদিকে ইনপুট স্ট্রিংটি ফাঁকা করে 36 টি অক্ষরে প্যাড করে

.
36*@$&¶
Y`@`Ld

তারপরে, প্রতিটি অক্ষরকে তার নিজস্ব লাইনে রেখে তার ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789আগে যুক্ত করুন ।

(.)(.*)\1
@$2

একই লাইনের সাথে একই অক্ষরের একটি জুড়ি মিলান, যা সেখানে যদি একটি থাকে এবং কেবল যদি সেই লাইনের চরিত্রটির সাথে একটি মেলে ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 । প্রথমটি এর সাথে প্রতিস্থাপন করুন @এবং দ্বিতীয়টি সরান।

N$`\S
$.%`

একমাত্র মেলে না এমন রেখাগুলি ফাঁকা জায়গাগুলি, তাই ফাঁকা স্থান অক্ষরগুলি 36 × 36 বর্গাকার ব্লক। এটি স্থানান্তর করুন।

L`.{32}

প্রতিটি লাইনে কেবল প্রথম 32 টি অক্ষর রাখুন


1

টিসিএল , 153 145 বাইট

ধন্যবাদ- সার্জারিওল -8 বাইটের জন্য

lmap i [split ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ""] {puts [join [lmap j [split [format %-32s [join $argv ""]] ""] {expr {$i==$j?"#":$i}}] ""]}

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

ব্যাখ্যা

# for i in list of choices
lmap i [split ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ""] {
    # print string of
    puts [join
        # list of
        [lmap j
             # for each character in first argument padded to 32 characters
             [split [format %-32s [join $argv ""]] ""]
             # return "#" if current choice and current character are equal, else current choice
             {expr {$i==$j?"#":$i}}
        ]
        ""
    ]
}


@ সার্জিওল: | হ্যাঁ 146 ?
ASCII-


1

SNOBOL4 (CSNOBOL4) , 155 150 বাইট

	I =INPUT
	U =&UCASE '0123456789'
N	U LEN(1) . K REM . U	:F(END)
	O =DUPL(K,32)
	X =
S	I LEN(X) @X K	:F(O)
	O POS(X) K =' '	:S(S)
O	OUTPUT =O	:(N)
END

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

ব্যাখ্যা:

	I =INPUT			;* read input
	U =&UCASE '0123456789'		;* U = uppercase concat digits
N	U LEN(1) . K REM . U	:F(END)	;* while U not empty, pop first letter as K
	O =DUPL(K,32)			;* dup K 32 times
	X =				;* set position to 0
S	I LEN(X) @X K	:F(O)		;* find the next occurrence of K and save (index - 1) as X
	O POS(X) K =' '	:S(S)		;* replace the X'th occurrence of K with space. If that's before character 32, goto S, else proceed to next line
O	OUTPUT =O	:(N)		;* output the string and goto N
END

1

প্রোলোগ (এসডাব্লুআই) , 235 229 228 222 214 198 173 167 165 বাইট

-C বাইটস @ কউজ কোয়াকে ধন্যবাদ , -6 বাইট ধন্যবাদ @ @ ০ '

X*[H|T]:-(H=X->write(#);writef("%n",[X])),X*T;nl.
_+[].
X+[H|T]:-H*X,X+T.
?-read(X),swritef(Y,"%32l",[X]),string_codes(Y,Z),Z+`ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789`.

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

ব্যাখ্যা

% if head = bubble char, write "#", else write bubble char, then while tail is non-empty, recurse.
% if tail is empty then print newline
X*[H|T]:-(H=X->write(#);writef("%n",[X])),X*T;nl.
% if list is empty, then do nothing. this prevents t from being called with invalid X
_+[].
% call t, then recurse for each char in list
X+[H|T]:-H*X,X+T.
% read, pad input to 32 chars, and convert input to list
?-read(X),swritef(Y,"%32l",[X]),string_codes(Y,Z),Z+`ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789`.


0

অক্টাভা , 61 বাইট

@(s)[((a=[30:55 13:22]'*~~(o=1:32)).*(a+35~=[s o](o)))+35 '']

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

ফাংশন নিম্নলিখিত হিসাবে কাজ করে:

@(s)[                                                     ''] %Anonymous function, taking string, outputting character array   
         [30:55 13:22]'                                       %Creates the board alphabet ('A':'Z' '0':'9']) but minus 35 (value of '#')
                       *~~(o=1:32)                            %Matrix multiplication by an array of 32 1's to form the 2D board. Saves 1:32 for later.
      (a=                         )                           %Saves the board mimus 32 to a for use later.
                                            [s o](o)          %Ensures the input is 32 characters long. Missing chars replaced by 1:32 (not in board)
                                     (a+35~=        )         %Compares against board (a+35 as a=board-35). Makes 2D array where matches = 0, others = 1. 
     (                             .*                )+35     %Element=wise multiplication, forcing matches to 0. Then add 35 resulting in board with #'s  

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