Bir küme ayracı dizesi, *()[]
ayraçların doğru eşleştiği karakterlerden oluşan bir dize olarak tanımlanır :
[brace-string] ::= [unit] || [unit] [brace-string]
[unit] ::= "" || "*" || "(" [brace-string] ")" || "[" [brace-string] "]"
Bu geçerli bir ayraç dizesi:
((())***[]**)****[(())*]*
Ancak bunlar:
)(
**(**[*](**)
**([*)]**
Göreviniz, pozitif bir tamsayı verildiğinde n
bir sayıyı girdi olarak alan ve geçerli tüm ayraç dizeleri çıktısını veren (veya döndüren) bir program (veya işlev) yazmaktır n
.
Özellikler
- Dizeleri herhangi bir sırayla çıktılayabilirsiniz.
- Farklı bir karakterle ayrılmış bir liste veya dize olarak çıktı alabilirsiniz.
- Programınız 0'ı doğru işlemelidir. Boş dize olan 0 uzunluğunda 1 olası parantez dizesi vardır
""
. - Bu kod golf , bu yüzden bayt cinsinden ölçülen en kısa geçerli cevap kazanır.
Test Durumları
0.
1. *
2. ** () []
3. *** ()* []* (*) [*] *() *[]
4. **** ()** []** (*)* [*]* (**) **() **[] *(*) *[*] (()) ()() ()[] ([]) [**] [()] [[]] []() [][] *()* *[]*