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 0atau 1diindeks. 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!