Meydan okuma
Bir kesme kuralını ve başka bir dizeyi tanımlayan bir dize verildiğinde, ilk dize tarafından açıklanan kuralı kullanarak parçaları ikinci dizeden kesin.
Her iki dize de harflerden a-z
veya A-Z
hangisini seçerseniz seçin (aynı şekilde temsil edilmeleri gerekmez). İkinci dizgenin değiştirilme şekli aşağıda açıklanmaktadır:
Algoritma
İlk dizeyi alın ve bitişik olmayan (artan) harfler arasındaki boşlukları doldurduğunuzu hayal edin =
; örneğin, abcfg
=> abc==fg
. Ardından, iki dizeyi sıralayın ve ilk dizeden eşittir işaretinin üzerinde olmayan tüm karakterleri döndürün. Örneğin, verilen abcfg
ve qrstuvw
girdi olarak:
qrstuvw - Modify
abc==fg - Modifier
qrs--vw -> qrsvw
Değiştirici eşit işaretlerle doldurulduktan sonra daha kısaysa, ikinci dizedeki tüm sondaki karakterler dahil edilmelidir. Değiştirici daha uzunsa, izleyen karakterler yok sayılır.
Değiştiricinin sıralanacağı garanti edilmez.
Test Durumları
abcfg, qrstuvw -> qrsvw
abqrs, qwertyuiopasdfghjklzxcvbnm -> qwjklzxcvbnm
za, qr -> qr
azazaz, qwertyuioplkjhgfdsazxcvbnmnbvcxzasdfghjklpoiuytrewq -> qmn
Referans Uygulama (test senaryoları oluşturmak için kullanılır) -> TIO
kurallar
- Standart Loopholes Uygula
- Girdiyi iki dize, iki karakter listesi, bir karakter matrisi vb. Olarak alabilirsiniz (diğer makul biçimler kabul edilebilir)
- Bir dize veya karakter listesi (veya dizeler için başka bir standart biçim) olarak çıktı alabilirsiniz
- Bu kod golf , bu nedenle her dilde bayt cinsinden en kısa cevap kendi dili için kazanan ilan edilir. Hiçbir cevap kabul edilmeyecektir.
- Her iki dize de boş olabilir.
Mutlu Golf!
Kevin Cruijssen'in son iki zorluğundan esinlenerek, "Orada düzelttim ( bant / ip ile )"
There, I blew it up (with a segfault)