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ı
"" -> ["()"]
"|"| -> []
||| -> []
"""" -> ["(())","()()"]
""|| -> ["()[]"]
"|"||"|" -> ["([([])])"]
"|""||""|" -> ["([(([]))])","([()[]()])","([()][()])"]