Правила
У цьому виклику я збираюся трохи переробити визначення "котирування".
Лапки ( лапки AKA ) - це будь-які ідентичні символи, які використовуються парами в різних системах письма для встановлення прямої мови, лапки або фрази. Пара складається з відкриваючого лапки і закриваючого лапки, який є однаковим символом (залежно від регістру).
Якщо пари цитат перекриваються одна з одною,
- Якщо пара вклала іншу, обидві пари все ще дійсні.
- Якщо пара не вкладається інша, перша стартова пара залишається дійсною. Інший вже не розглядається як пара.
Під час підрахунку символів, що цитуються (довжина пари лапок),
- Самі цитати не враховуються.
- Довжина кожної пари рахується незалежно. Перекриття не впливає на інше.
Мета
Ваша мета - надрукувати загальну довжину всіх дійсних цитат. Це код гольфу, тому виграє код з найменшими байтами.
Приклади
Legend:
<foo>: Valid quotes
^ : Cannot be paired character
Input : ABCDDCBA
`A` (6): <BCDDCB>
`B` (4): <CDDC>
`C` (2): <DD>
`D` (0): <>
Output : 12
Input : ABCDABCD
`A` (3): <BCD>
`B` (0): ^ ^
`C` (0): ^ ^
`D` (0): ^ ^
Output : 3
Input : AABBBBAAAABA
`A` (0): <> <><> ^
`B` (0): <><> ^
Output : 0
Input : ABCDE
Output : 0
Input : Print the total length of all "quoted" characters
`r` (40): <int the total length of all "quoted" cha>
`n` (14): <t the total le>
`t` (15): < > <o> <h of all "quo>
` ` (7): ^ <total> <of> ^ ^
`h` (0): ^ ^ ^
`e` (8): < total l> ^ ^
`o` (0): ^ ^ ^
`a` (0): ^ ^ ^ ^
`l` (0): ^ ^ <>
`"` (0): ^ ^
`c` (0): ^ ^
Output : 84
Input : Peter Piper picked a peck of pickled peppers
`P` (5): <eter >
`e` (9): <t> ^ <d a p> <d p> ^
`r` (0): ^ ^
` ` (3): ^ ^ <a> <of> ^
`i` (5): <per p>
`p` (3): <er > ^ ^ ^ <>
`c` (8): <ked a pe> ^
`k` (7): ^ < of pic>
`d` (0): ^ ^
Output : 40
Input : https://www.youtube.com/watch?v=dQw4w9WgXcQ
`h` (27): <ttps://www.youtube.com/watc>
`t` (0): <> ^ ^
`/` (0): <> ^
`w` (14): <><.youtube.com/> <4>
`.` (7): <youtube>
`o` (0): ^ ^
`u` (1): <t>
`c` (0): ^ ^ ^
`Q` (8): <w4w9WgXc>
Output : 57