ফ্রিজ চৌম্বক বিকল্প


29

যখন ফ্রিজ চুম্বক সঙ্গে একটি বার্তা লেখা, আপনি প্রায়ই নিজেকে একটি বদলে পাবেন 1একটি জন্য I। এই চ্যালেঞ্জে আপনার লক্ষ্যটি অন্য বার্তার অক্ষর ব্যবহার করে কোনও বার্তা লেখা যায় কিনা তা খুঁজে বের করা। অনুমোদিত বিকল্পগুলি হ'ল:

A = 4
B = 8
C = U
E = M = W = 3
G = 6 = 9
I = 1
L = 7
N = Z
O = 0
R = 2
S = 5

উদাহরণস্বরূপ, বার্তাটি CIRCA 333বানানটিতে পুনরায় সাজানো যেতে পারে ICE CREAM, যেখানে প্রথম দুটি 3গুলি দুটি তৈরি করতে 180 ডিগ্রি ঘোরানো হয় Eএবং শেষটি 390 টি ডিগ্রি ঘড়ির কাঁটার দিকে ঘোরানো হয় M। হোয়াইটস্পেসগুলি বার্তাগুলিতে অন্তর্ভুক্ত করা যেতে পারে, তবে সেগুলি আপনার দ্রবণের জন্য গণ্য করা উচিত নয়, কারণ তারা ফ্রিজে চুম্বক রেখে তৈরি করা হয়েছে।

ইনপুট

দুটি স্ট্রিং (বা চরিত্রের অ্যারে)। সমস্ত বার্তা মিলবে^[A-Z0-9 ]+$

আউটপুট

সত্য যদি দুটি ইনপুট স্ট্রিং একে অপরের বৈধ পুনঃস্থাপন হয়, অন্যথায় মিথ্যা।

উদাহরণ

["CIRCA 333", "ICE CREAM"] => true
["DCLV 00133", "I LOVE CODE"] => true
["WE ARE EMISSARIES", "33   423    3315542135"] => true
["WE WANT ICE CREAM", "MET CIRCA 334 MEN"] => true
["I HAVE ICE CREAM", "HAVE 2 ICE CREAMS"] => false

আরও জোরালো উদাহরণ

এগুলি সমস্ত 15+ অক্ষরের শব্দের সাথে অন্য শব্দের মানচিত্র। কিছু তুচ্ছ বিকল্প, কিন্তু আমি খুঁজে পাওয়া সমস্ত অন্তর্ভুক্ত।

["ANTHROPOMORPHISE","ANTHROPOMORPHISM"]
["ANTIPHILOSOPHIES","ANTIPHILOSOPHISM"]
["CIRCUMSTANTIALLY","ULTRAMASCULINITY"]
["DECENTRALIZATION","DENEUTRALIZATION"]
["DIMETHYLNITROSAMINE","THREEDIMENSIONALITY"]
["INSTITUTIONALISE","INSTITUTIONALISM"]
["INTERCRYSTALLINE","INTERCRYSTALLIZE"]
["INTERNATIONALISE","INTERNATIONALISM"]
["OVERCENTRALIZATION","OVERNEUTRALIZATION"]
["OVERCENTRALIZING","OVERNEUTRALIZING"]
["PREMILLENNIALISE","PREMILLENNIALISM"]
["TRANSCENDENTALIZE","TRANSCENDENTALIZM"]

এটি একটি কোড গল্ফ চ্যালেঞ্জ হিসাবে, সংক্ষিপ্ততম সমাধানটি জিতেছে! পোস্ট করা থেকে 7 দিনের মধ্যে আমি সংক্ষিপ্ত সমাধানটি গ্রহণ করব। শুভ গল্ফিং!

নমুনা সমাধান, অ-গল্ফযুক্ত

সম্পর্কিত

সম্পাদনা : প্রতিস্থাপনে ত্রুটি তৈরি করেছে G = 6এবং 6 = 9পৃথক পৃথক বিকল্প হিসাবে এগুলিকে একটিতে মিশিয়ে দিয়েছে।


2
আমার মনে হয় 48 ঘন্টা কিছুটা কম। শুধুমাত্র উইকএন্ডে গল্ফ করা লোকদের সম্পর্কে কী?
অ্যাডম

ভালো কথা, আমি এক সপ্তাহ দেব।
সর্বোচ্চ

1
আপনি যে বিকল্পের জন্য মঞ্জুরি বিবেচনা করতে পারেন তা হ'ল টি এর জন্য,, এইচ এর জন্য H (তবে এইচ এর জন্য 1 নয়) এবং এন বা জেড এর জন্য 2
জেফ জিটলিন

1
@ জেফজেইটলিন আমাদের চ্যালেঞ্জ স্যান্ডবক্সে এ সম্পর্কে আলোচনা করেছিলেন এবং আমি এমন সব বিকল্পগুলি বাদ দিতে চেয়েছিলাম যা বিপরীত নয়। যেহেতু Tএবং Lবিনিময়যোগ্য নয়, তাই আমি যুক্ত করতে পারি না T = 7। একই জন্য যায় N = Z = 2, যা বোঝায় N = Z = R = 2। তবে, আপনি যে ধরণের প্রতিস্থাপনের পরামর্শ দিচ্ছেন এটি এই চ্যালেঞ্জটির আরও জটিল সংস্করণের জন্য প্রস্তুত করবে যা আমি পরবর্তী সময়ে পোস্ট করতে পারি। আমি কেবল দেখতে চেয়েছিলাম যে এই ধরণের চ্যালেঞ্জগুলি প্রথমে ভালভাবে গৃহীত হবে কিনা।
সর্বোচ্চ

1
@ 3D1T0R হ্যাঁ, প্রতিস্থাপনটি উভয় পথেই যেতে হবে। দুটি স্ট্রিং একে অপরের বৈধ পুনঃস্থাপনা হয় কিনা তা চেক । আপনার উদাহরণ ফিরে আসবে false
ম্যাক্সবি

উত্তর:


4

জাপট , 38 36 33 30 বাইট

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

®d`z³m`i`oiglbg`í)Ôu)ñ xÃr¶

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

ETHProductions কে 3 বাইট সংরক্ষণ করা হয়েছে

®d`z...m`i`o...g`í)Ôu)ñ xÃr¶
                                 :Implicit input of array U
®                                :Map each Z
 d                               :  For each pair of characters in the following string,
                                 :  replace all occurrences of the 1st character in Z with the 2nd
  `z...m`                        :    The compressed string "znewem"
         i                       :    Prepend
          `o...g`                :      The compressed string "oireasglbg"
                 í               :      Interleave 0-based indices
                  )              :    End prepend
                   Ô             :    Reverse
                    u            :    Convert to uppercase
                     )           :  End replace
                      ñ          :  Sort
                        x        :  Trim
                         Ã       :End map
                          r      :Reduce
                           ¶     :  By testing equality

দুর্দান্ত, বর্তমানে জেলিকে মারছে! আমি মনে করি আপনি 3 বাইট সংরক্ষণ করতে শেষে করতে পারেন ।
ETH প্রোডাকশনগুলি

ওহ, আমি ভুলে যাচ্ছিলাম। ধন্যবাদ, @ ইথ প্রডাকশনস।
শেগি

10

পাইথন 2 , 145 131 130 129 125 বাইট

lambda*a:all(len({sum(map(w.count,x))for w in a})<2for x in'A4 B8 CU EMW3 G69 I1 L7 NZ O0 R2 S5'.split()+list('DFHJKPQTVXY'))

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

অল্টার:

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

lambda*a:len({(x,sum(map(w.count,x)))for x in'A4 B8 CU EMW3 G69 I1 L7 NZ O0 R2 S5'.split()+list('DFHJKPQTVXY')for w in a})<23

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


10

রুবি , 99 72 71 বাইট

->a{!!a.map{|x|x.tr("0-9UZMW","OIREASGLBGCNE").chars.sort-[" "]}.uniq!}

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

স্ট্রিংগুলির একটি অ্যারে নেয়, সমস্ত পরীক্ষার ক্ষেত্রে বড় হাতের ইনপুট ধরে নেয়।

-1 বাইট গল্ফ করা benj2240 দ্বারা।



হ্যাঁ, যে কাজ করে, ধন্যবাদ।
কিরিল এল।

9

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

বাক্য গঠন সিনট্যাক্সে অক্ষরের দুটি অ্যারে হিসাবে ইনপুট নেয় (a)(b)। একটি বুলিয়ান ফেরত দেয়।

a=>b=>(g=s=>s.map(c=>'648UD3F6H1JK73Z0PQ25TUV3'[parseInt(c,36)-9]||c).sort().join``.trim())(a)==g(b)

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

কিভাবে?

প্রতিটি ইনপুট এর জন্য সহায়ক ফাংশন g () ব্যবহার করুন :

  • সংখ্যা 0 থেকে 8 ও অক্ষর এক্স , ওয়াই এবং জেড অপরিবর্তিত বামে হয়। অন্য সমস্ত কিছুই স্পষ্টভাবে অনুবাদ করা হয়েছে।

    0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ
             ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
    .........648UD3F6H1JK73Z0PQ25TUV3...
    

    কোড:

    s.map(c => '648UD3F6H1JK73Z0PQ25TUV3'[parseInt(c, 36) - 9] || c)
  • আমরা অক্ষরগুলি বাছাই করি (যা শুরুতে সমস্ত স্থান নিয়ে আসে), তাদের সাথে যোগ দিন এবং সমস্ত নেতৃস্থানীয় সাদা স্থান সরিয়ে ফেলুন।

    কোড:

    .sort().join``.trim()

অবশেষে, আমরা উভয় আউটপুট তুলনা।


6

রেটিনা 0.8.2 , 42 বাইট

T` dUZMW`_\OIR\EASG\LBGCN\E
%O`.
^(.*)¶\1$

এটি অনলাইন চেষ্টা করুন! পৃথক লাইনে ইনপুট নেয়, তবে লিঙ্কটিতে পরীক্ষার কেস এবং শিরোনাম অন্তর্ভুক্ত রয়েছে। ব্যাখ্যা:

T` dUZMW`_\OIR\EASG\LBGCN\E

সর্বনিম্ন সেটটিতে সমস্ত অক্ষর ম্যাপ করুন, স্পেসগুলি মুছে দিন।

%O`.

প্রতিটি স্ট্রিংকে ক্রমে সাজান।

^(.*)¶\1$

দুটি মান তুলনা করুন।


5

এপিএল (ডায়ালগ ইউনিকোড) , 49 বাইট এসবিসিএস

-1 ngn ধন্যবাদ।

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

(≡/(⍋⌷¨⊂)¨)(,¨⎕D,'UMWZ ')⎕R('OIREASGLBGCEEN',⊂⍬)

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

⎕R পিসিআরই আর এপিলেস:
'UMWZ ' এই পাঁচটি অক্ষর  আলাদা আলাদা আলাদা
⎕D, করে অঙ্ক
করে (প্রতিটি স্ট্রিংকে একক চরিত্রের পরিবর্তে তৈরি করুন)
 সহ:  এই অক্ষরগুলির আগে
⊂⍬ কিছুই নেই
'OIREASGLBGCEEN',

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

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

   এটি বন্ধ করুন (সম্পূর্ণরূপে এটির জন্য)

  ⍋⌷¨ সমস্ত সূচকগুলি ব্যবহার করুন যা এটি পুরো স্ট্রিংয়ের (সূচী) সূচকে সাজিয়ে তোলে

≡/ তারা কি অভিন্ন? (লিট। ম্যাচ হ্রাস)



@ জিএনএন কেন এটি কাজ করে তা নিশ্চিত নয় তবে যাইহোক ধন্যবাদ।
অ্যাডাম

5

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

lambda a,b:g(a)==g(b)
g=lambda s:sorted('85930A4614012B3C4D5EF6378GH9AI2J3KL7'[int(c,36)]for c in s if'!'<c)

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

অক্ষরের 23 সমতুল্য শ্রেণি রয়েছে। ৩--অক্ষরের স্ট্রিং ব্যবহার করে '85930A4614012B3C4D5EF6378GH9AI2J3KL7'আমরা প্রতিটি অক্ষরকে তার সমতুল্য শ্রেণিতে ম্যাপ করে থাকি (স্পেস উপেক্ষা করে), তারপরে ফলাফলটি অ্যারে বাছাই করি। ফলাফলগুলি সমান হলে দুটি স্ট্রিং সমান।


4

জাভা 10, 262 260 258 216 208 174 বাইট

a->b->n(a).equals(n(b));String n(String s){return s.chars().mapToObj(x->x<48?"":"OIREASGLBG.......ABCDEFGHIJKLENOPQRSTCVEXYN".split("")[x-48]).sorted().reduce("",(a,b)->a+b);}

-২ বাইটস @ আরনাউল্ডকে ধন্যবাদ ।
-76 by বাইট ধন্যবাদ @ অলিভিগ্রগ্রোয়ারকে ধন্যবাদ ।

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

ব্যাখ্যা:

a->b->                      // Method with two String parameters and boolean return-type
  n(a).equals(n(b))         //  Return if both Strings are equal in the end

String n(String s){         // Separated method with String as both parameter return-type
  return s.chars()          //  Loop over all characters as integers
          .mapToObj(x->x<48?//   If the current character is a space:
             ""             //    Replace it with an empty String to skip it
            :               //   Else:
             "OIREASGLBG.......ABCDEFGHIJKLENOPQRSTCVEXYN".split("")[x-48]
                            //    Convert multi-substitution characters to a single one
          .sorted()         //  Sort all of the converted characters
          .reduce("",(a,b)->a+b);}
                            //  And join all of them together as single String

2
"A4B8CUEMEWE3G6G9I1L7NZO0R2S5".split("(?<=\\G.{2})")কাজ করছে বলে মনে হচ্ছে ... যদিও আমি ঠিক জানি না কীভাবে। : পি
আর্নল্ড

@ আর্নল্ড ধন্যবাদ, -২ বাইট, এবং অন্য -২ বাইটের জন্য {2}হতে পারে .। এটি কীভাবে কাজ করে আমিও 100% নিশ্চিত নই। আমি জানি বিভাজনে(?<= ... ) ব্যবহৃত হয় তবে প্রতি আইটেমের পিছনে সীমানা রেখে দিন । তবে আমি কিছুটা বিভ্রান্ত হয়েছি কেন (?=\\G..)(অগ্রণী ডিলিমিটার রাখুন) সে ​​ক্ষেত্রে কাজ করে না। এবং সত্যিকার অর্থে কীভাবে \\G..বনাম ..এখানে বিভাজনে কাজ করে তাও জানেন না । আমি এটি কোথাও খুঁজে বের করতে পারি কিনা তা দেখতে পাবে, কারণ আমি কৌতূহলী নই। ; p যেকোন উপায়ে সংরক্ষিত বাইটের জন্য ধন্যবাদ। \\Gএমনকি আকারের ব্লকগুলিতে বিভক্ত হওয়ার সময় মনে রাখা দরকার । :)
কেভিন ক্রুইজসেন

1
@ আর্নল্ড আপনি যদি (?<=\\G..)কোনও বিভাজনের মধ্যে কিছু পটভূমি চান তবে আমি স্ট্যাকওভারফ্লো প্রশ্ন তৈরি করেছি যা কিছুটা আলো ফেলেছে । মূলত এটি প্রায় প্রতিটি ভাষায় আলাদাভাবে কাজ করা অপরিজ্ঞাত আচরণ। যদিও \Gশূন্য-দৈর্ঘ্যের, জাভাতে বিভক্তির ভিতরে ইতিবাচক চেহারা রয়েছে, এটি উভয় নিয়মকে দ্বন্দ্ব করে যা আমাদের এখানে আচরণের কারণ হয়ে দাঁড়ায়। এটি ব্যক্তিগতভাবে আমার কাছে এখনও কিছুটা অস্পষ্ট, তবে কমপক্ষে এটি উত্তরে 4 বাইট সংরক্ষণ করেছে। ;)
কেভিন ক্রুইজসেন

1
217 বাইট । যদিও আরও বাইট বাঁচাতে পারে।
অলিভিয়ার গ্রাগোয়ার


3

আর , 123 বাইট

function(x,y=chartr("48UMW36917Z025","ABCEEEGGILNORS",gsub(" ","",x)))all(g(y[1])==g(y[2]))
g=function(z)sort(utf8ToInt(z))

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

utf8ToInt একটি স্ট্রিংকে ইউনিকোড কোড পয়েন্টের ভেক্টরে রূপান্তরিত করে।

!sd(a-b)এর তুলনায় একটি বাইট কম খাটোall(a==b) তবে এটি এখানে সহায়তা করে না কারণ আমি আসলে লজিক্যালগুলি না দিয়ে পূর্ণসংখ্যার সাথে কাজ করছি।


খুব সুন্দর! আমার তোমাকে দরকার মনে !anyস্থানে !sdযেমন উপাদানের সব সমান হতে পারে, কিন্তু 1. চেষ্টা করুন:f(list("BCDEF","ABCDE"))
JayCe

2

জে , 56 বাইট

-:&(-.&' '/:~@rplc'0123456789UMWZ';"0'OIREASGLBGCEEN'"1)

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

ব্যাখ্যা:

& উভয় বাম এবং ডান যুক্তি জন্য

-.&' ' ইনপুট থেকে স্পেসস সরিয়ে দেয়,

rplc প্রতিস্থাপন

'0123456789UMWZ';"0'OIREASGLBGCEEN'"1 বাম কলামের অক্ষরের সাথে ডানদিকের অক্ষরের পরিবর্তে ইনপুট-এর অক্ষরগুলি: (স্থান সংরক্ষণের জন্য এখানে স্থানান্তরিত)

      |:'0123456789UMWZ';"0'OIREASGLBGCEEN'
┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐
│0│1│2│3│4│5│6│7│8│9│U│M│W│Z│
├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤
│O│I│R│E│A│S│G│L│B│G│C│E│E│N│
└─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘

/:~@ এবং ফলাফলের স্ট্রিংগুলি বাছাই করে

-: বাছাই করা স্ট্রিংগুলি কি সমান?

আমার প্রাথমিক সমাধান:

জে , 77 73 বাইট

-:&(1#.(' '-.~])e."1[:(,a.,.@-.,)'EMW3','G69',9 2$'A4B8CUI1L7NZO0R2S5'"1)

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

ব্যাখ্যা:

(' '-.~]) উভয় যুক্তি এবং থেকে ফাঁকা স্থান সরিয়ে দেয়

e."1 ফলউইং টেবিলের সদস্যতার জন্য প্রতিটি চরিত্র পরীক্ষা করে:

[:(,a.,.@-.,)'EMW3','G69',9 2$'A4B8CUI1L7NZO0R2S5'"1 উল্লেখ:

EMW3
G69 
A4  
B8  
CU  
I1  
L7  
NZ  
O0  
R2  
S5  
.
.
.  
All other symbols one in a row

1#. প্রতিটি যুক্তির জন্য তুলনা সারণি যুক্ত করে

-:& তারা কি মিলছে?






1

05AB1E , 38 33 বাইট

εðK.•2Θ`ĆĀÑεÉ•u6«•B/óÕ¦•…CN9«‡{}Ë

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

ব্যাখ্যা:

ε                   # Map each value in the (implicit) input-list by:
 ðK                 #  Remove all spaces
   .•2Θ`ĆĀÑεÉ•      #  Push compressed string "abemwgilorsuz"
              u     #  To uppercase: "ABEMWGILORSUZ"
               6«   #  Append a 6: "ABEMWGILORSUZ6"
   B/óÕ¦•          #  Push compressed integer 48333917025
          CN9«     #  Append "CN9": "48333917025CN9"
                   #  Transliterate; map all characters in "ABEMWGILORSUZ" in the
                    #  map-string to "48333917025CN9" at the same indices
    {               #  Then sort all characters
}                   # Close the map
 Ë                  # And check if both are equal (which is output implicitly)

আমার এই 05AB1E ডগা দেখুন (বিভাগে কিভাবে কম্প্রেস স্ট্রিং অভিধান অংশ নয়? করতে এবং কিভাবে বড় পূর্ণসংখ্যার কম্প্রেস কিভাবে? ) কেন বুঝতে .•2Θ`ĆĀÑεÉ•হয় "abemwgilorsuz"এবং •B/óÕ¦•হয় 48333917025

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