Verificação do balanceamento de parênteses em uma string

C# Medium strings

Tarefa «Verificação do balanceamento de parênteses em uma string»

Dada uma string contendo os caracteres de parênteses '(' e ')', além de outros caracteres. É necessário verificar se a sequência de parênteses está balanceada. Os parênteses são considerados balanceados se cada parêntese de abertura corresponde a um de fechamento na ordem correta, e não há parênteses de fechamento excedentes. Outros caracteres são ignorados. O comprimento da string não excede 1000 caracteres.

Formato de Entrada

Uma string contendo caracteres arbitrários.

Formato de Saída

Imprima 'YES' se os parênteses estiverem balanceados, e 'NO' caso contrário.

Exemplos

Exemplo 1

ENTRADA
(())()
SAÍDA
YES

Exemplo 2

ENTRADA
(())
SAÍDA
YES
main.cs