Diberi kunci, dan array string, kocok array sehingga diurutkan ketika setiap elemen XOR'd dengan kunci.
XOR'ing dua string
Untuk XOR string dengan kunci, XOR masing-masing nilai karakter dari string dengan pasangannya di kunci, dengan asumsi bahwa kunci berulang selamanya. Misalnya, abcde^123
terlihat seperti:
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
Penyortiran
Penyortiran harus selalu dilakukan secara Leksikografis dari string XOR. Yaitu, 1 < A < a < ~
(Mengasumsikan pengkodean ASCII)
Contoh
"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"]
Catatan
- Kunci akan selalu setidaknya 1 karakter
- Kunci dan Input hanya akan terdiri dari ASCII yang dapat dicetak.
- String XOR'd mungkin berisi karakter yang tidak dapat dicetak.
- Input dan Output dapat dilakukan melalui Metode yang Wajar
- Celah Standar dilarang.
- Anda dapat mengambil Kunci dan Input dalam urutan apa pun.
Uji Kasus
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"]
Ini kode-golf , jadi paling tidak byte menang!