Ini adalah salah satu dari serangkaian tantangan menjelang ulang tahun Brain-Flak. Cari tahu lebih lanjut di sini .
Tantangan
Untuk tantangan ini, sasaran Anda adalah menemukan pasangan kurung yang paling cocok dalam serangkaian kurung yang sepenuhnya cocok ()[]{}<>
. Untuk meminjam definisi DJMcMayhem tentang string yang sepenuhnya cocok:
Untuk tujuan tantangan ini, "braket" adalah salah satu karakter:
()[]{}<>
.Sepasang tanda kurung dianggap "cocok" jika tanda kurung buka dan tutup berada dalam urutan yang benar dan tidak memiliki karakter di dalamnya, seperti
() []{}
Atau jika setiap subelemen di dalamnya juga cocok.
[()()()()] {<[]>} (()())
Subelemen juga dapat disarungkan beberapa lapisan.
[(){<><>[()]}<>()] <[{((()))}]>
Sebuah string dianggap "Sepenuhnya cocok" jika dan hanya jika masing-masing pasangan braket memiliki braket pembukaan dan penutupan yang benar dalam urutan yang benar.
Memasukkan
Input akan terdiri dari string nonempty tunggal atau array char yang hanya berisi karakter ()[]{}<>
, dan dijamin akan sepenuhnya cocok. Anda dapat mengambil input dengan cara apa pun yang sesuai dengan standar i / o kami .
Keluaran
Output dari program atau fungsi Anda akan menjadi indeks braket yang menutup yang pertama. Output harus salah 0
atau 1
diindeks. Sekali lagi, output mungkin dengan cara apa pun yang sesuai dengan standar i / o kami .
Uji Kasus
Input 0-indexed 1-indexed
() 1 2
(<>) 3 4
<[]{<>}> 7 8
{}{}{}{} 1 2
[[]<>[]] 7 8
Ini adalah kode-golf , byte terkecil menang!