Regras
Neste desafio, vou redefinir um pouco a definição de "aspas".
As aspas ( aspas AKA ) são caracteres idênticos usados em pares em vários sistemas de escrita para desencadear fala direta, cotação ou frase. O par consiste em aspas de abertura e aspas de fechamento, com o mesmo caractere (com distinção entre maiúsculas e minúsculas).
Se houver pares de aspas sobrepostos,
- Se um par aninhar outro, os dois pares ainda serão válidos.
- Se um par não aninhar outro, o primeiro par inicial permanece válido. O outro não é mais considerado um par.
Ao contar caracteres entre aspas (comprimento de um par de aspas),
- As citações em si não contam.
- O comprimento de cada par é contado de forma independente. A sobreposição não afeta outra.
Objetivo
Seu objetivo é imprimir o comprimento total de todas as cotações válidas. Este é o código golf, portanto o código com o menor número de bytes vence.
Exemplos
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