Це було одним із низки викликів, що спричинили день народження Брейн-Флак. Дізнайтеся більше тут .
Виклик
Для цієї задачі вашою метою буде знайти найпершу пару відповідних дужок у повністю збіганій дужці ()[]{}<>
дужок. Щоб запозичити визначення DJMcMayhem повністю відповідного рядка:
Для цього виклику, «дужка» представляє собою будь-яка з цих символів:
()[]{}<>
.Пара дужок вважається «збіганою», якщо дужки, що відкриваються і закриваються, є в правильному порядку і не містять символів всередині них, наприклад
() []{}
Або якщо кожна субелемент всередині нього також збігається.
[()()()()] {<[]>} (()())
Субелементи також можуть вкладатись у кілька шарів глибиною.
[(){<><>[()]}<>()] <[{((()))}]>
Рядок вважається "Повністю узгодженим", якщо і лише в тому випадку, якщо кожна пара дужок має правильну дужку відкриття та закриття в потрібному порядку.
Вхідні дані
Введення буде складатися з одного непорожнього рядка або масиву char, що містить лише символи ()[]{}<>
, і гарантовано буде повністю збігатися. Ви можете приймати дані будь-яким розумним способом, який відповідає нашим замовчуванням вводу / виводу .
Вихідні дані
Виведенням вашої програми або функції буде індекс дужки, який закриває перший. Вихід повинен бути індексованим 0
або 1
індексованим. Знову ж таки, висновок може бути будь-яким розумним чином, що відповідає нашим за замовчуванням вводу / виводу .
Випробування
Input 0-indexed 1-indexed
() 1 2
(<>) 3 4
<[]{<>}> 7 8
{}{}{}{} 1 2
[[]<>[]] 7 8
Це кодовий гольф , найменше виграш байтів!