একটি কী এবং স্ট্রিংগুলির একটি অ্যারে দেওয়া হয়েছে, অ্যারেটি এমনভাবে পরিবর্তন করুন যাতে এটি বাছাই করা হয় যখন প্রতিটি উপাদান কী দিয়ে XOR'd হয়।
দুটি স্ট্রিং XOR'ing
একটি কী দ্বারা একটি স্ট্রিং এক্সওর করতে, কীটি চিরকালের জন্য পুনরাবৃত্তি হবে বলে ধরে নিয়ে তার জোড় দ্বারা স্ট্রিংয়ের প্রতিটি চরিত্রের মানগুলি এক্সওআর করে। উদাহরণস্বরূপ, abcde^123
দেখতে:
a b c d e
1 2 3 1 2
--------------------------------------------
01100001 01100010 01100011 01100100 01100101
00110001 00110010 00110011 00110001 00110010
--------------------------------------------
01010000 01010000 01010000 01010101 01010111
--------------------------------------------
P P P U W
শ্রেণীবিভাজন
XOR'd স্ট্রিংগুলির লেক্সিকোগ্রাফিকভাবে সর্বদা বাছাই করা উচিত। এটি হ'ল 1 < A < a < ~
(ASCII এনকোডিং ধরে নিচ্ছি)
উদাহরণ
"912", ["abcde", "hello", "test", "honk"]
-- XOR'd
["XSQ]T", "QT^U^", "MTAM", "Q^\R"]
-- Sorted
["MTAM", "QT^U^", "Q^\R", "XSQ]T"]
-- Converted back
["test", "hello", "honk", "abcde"]
মন্তব্য
- কী সর্বদা কমপক্ষে 1 টি চরিত্রের হবে
- কী এবং ইনপুট কেবল প্রিন্টযোগ্য এএসসিআইআই সমন্বিত থাকবে।
- XOR'd স্ট্রিংগুলিতে মুদ্রণযোগ্য অক্ষরগুলি থাকতে পারে।
- যুক্তিসঙ্গত পদ্ধতিগুলির মাধ্যমে ইনপুট এবং আউটপুট করা যেতে পারে
- স্ট্যান্ডার্ড লুফোলগুলি নিষিদ্ধ।
- আপনি যে কোনও ক্রমে কী এবং ইনপুট নিতে পারেন।
পরীক্ষার কেস
key, input -> output
--------------------
"912", ["abcde", "hello", "test", "honk"] -> ["test", "hello", "honk", "abcde"]
"taco", ["this", "is", "a", "taco", "test"] -> ["taco", "test", "this", "a", "is"]
"thisisalongkey", ["who", "what", "when"] -> ["who", "what", "when"]
"3", ["who", "what", "when"] -> ["what", "when", "who"]
এটি কোড-গল্ফ , তাই কমপক্ষে বাইটস জয়!