Bir anahtar ve bir dize dizisi verildiğinde, diziyi her öğe anahtarla XOR'd olduğunda sıralanacak şekilde karıştırın.
XOR'ing iki dize
Bir dizeyi anahtarla XOR yapmak için, dizenin karakter değerlerinin her birini, anahtarın sonsuza kadar yinelendiği varsayılarak, anahtardaki çiftiyle XOR yapın. Örneğin, abcde^123
şuna benzer:
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
sınıflandırma
Sıralama her zaman XOR'd dizelerinin sözlükbilimsel olarak yapılmalıdır. Yani, 1 < A < a < ~
(ASCII kodlaması varsayarsak)
Misal
"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"]
notlar
- Anahtar her zaman en az 1 karakter olacaktır
- Anahtar ve Giriş yalnızca yazdırılabilir ASCII'den oluşur.
- XOR'd dizeleri yazdırılamayan karakterler içerebilir.
- Girdi ve Çıktı Makul Yöntemlerle yapılabilir
- Standart Loopholes yasaktır.
- Anahtar ve Girdileri istediğiniz sırayla alabilirsiniz.
Test Durumları
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"]
Bu kod golf , bu yüzden en az bayt kazanır!