Normal braketleri ( (), [], <>ve {}) Ancak birileri parantez olmayan ayraç karakteri kullanmak iyi bir fikir olacağını düşündük, güzel ve net bulunmaktadır. Bu karakterler |ve "belirsiz. Örneğin,
""""
karşılık vermek
(())
veya
()()
Bunu söylemek imkansız.
Belirsiz parantez türlerini karıştırdığınızda işler ilginçleşmeye başlar, örneğin
"|""||""|"
Aşağıdakilerden herhangi biri olabilir
([(([]))]),([()[]()]),([()][()])
Görev
Göreviniz belirsiz karakterlerden oluşan bir dize almak ve yazarın amaçladığı tüm olası dengeli dizeleri çıkarmaktır.
Daha somut olarak çıkış yerini yapılabilir tüm dengeli dizeleri |biriyle [veya ]ve "birlikte ya (ya ). Dengeli bir dizeyi iki kez çıkarmamalısınız.
IO
Giriş olarak |ve öğelerinden oluşan bir dize almalısınız ". Bunun dışında iki ayrı karakter seçmek |ve "yerine geçmek isterseniz, bunu yapabilirsiniz. Dengeli dizelerden oluşan bir kap çıkarmalısınız. Sen değiştirmeyi seçebilirsiniz []ve ()herhangi diğer iki braket çiftine sahip çıktı ( (), [], <>veya {}) istediğiniz. Çıktı formatınız tüm çalışmalarda tutarlı olmalıdır.
puanlama
Bu kod golftür, bu nedenle cevaplar daha az bayt daha iyi olacak şekilde bayt cinsinden puanlanır.
Test senaryoları
"" -> ["()"]
"|"| -> []
||| -> []
"""" -> ["(())","()()"]
""|| -> ["()[]"]
"|"||"|" -> ["([([])])"]
"|""||""|" -> ["([(([]))])","([()[]()])","([()][()])"]