Misi Anda, sebaiknya Anda memilih untuk menerimanya, adalah untuk menambahkan dengan minimum jumlah tanda kurung, kawat gigi, dan kurung untuk membuat string yang diberikan (yang hanya berisi tanda kurung, kawat gigi, dan kurung) memiliki pencocokan penjepit yang benar. Ikatan simbol yang ditambahkan harus diputus dengan memiliki jarak maksimum antara kawat gigi yang dipasangkan. Anda harus mengembalikan hanya satu jawaban yang benar yang cocok dengan kedua aturan ini; Ikatan lebih lanjut, jika ada, dapat diputus sesuai keinginan Anda.
Contoh:
input output
// Empty String is a legal input
[ [] // Boring example
[()] [()] // Do nothing if there's nothing to be done
({{ ({{}}) // NOT (){}{} (0 + 0 + 0). Maximum distance is 4 + 2 + 0, ({{}})
[([{])]} {[([{}])]} // NOT [([])]{[([])]} or similar
Anda dapat menulis sebuah program atau fungsi , menerima input melalui STDIN sebagai argumen string ke fungsi Anda, yang mengembalikan output sebagai string atau mencetaknya ke STDOUT (atau alternatif terdekat). Anda dapat secara opsional memasukkan satu baris baru dalam output.
Anda dapat menganggap bahwa string input hanya terdiri dari 6 karakter berikut (atau ketiadaan): [](){}
(Anda tidak perlu mendukung <>
)
Ini adalah kode-golf , kemenangan program terpendek. Tentu saja celah standar dilarang .