In-game Chat (Codeforces 1411A)
Tags: Implement, implementation

You have been assigned to develop a filter for bad messages in the in-game chat. A message is a string $$$S$$$ of length $$$n$$$, consisting of lowercase English letters and characters ')'. The message is bad if the number of characters ')' at the end of the string strictly greater than the number of remaining characters. For example, the string ")bc)))" has three parentheses at the end, three remaining characters, and is not considered bad.

Input: The first line contains the number of test cases $$$t$$$ ($$$1 \leq t \leq 100$$$). Description of the $$$t$$$ test cases follows.The first line of each test case contains an integer $$$n$$$ ($$$1 \leq n \leq 100$$$). The second line of each test case contains a string $$$S$$$ of length $$$n$$$, consisting of lowercase English letters and characters ')'.

Output: For each of $$$t$$$ test cases, print "Yes" if the string is bad. Otherwise, print "No".You can print each letter in any case (upper or lower).


Sample Inputs:
5
2
))
12
gl))hf))))))
9
gege)))))
14
)aa))b))))))))
1
)

Sample Outputs:
Yes
No
Yes
Yes
Yes

Solution (Python):
""""""

def i():
    n = int(input())
    s = input()
    c = set(s[(n - 1) // 2:])
    if c == set(')'):
        return 'YES\n'
    return 'NO\n'
t = int(input())
a = []
for _ in range(t):
    a.append(i())
print(''.join(a), end='')

Solution (Python):
t = int(input())
for i in range(t):
    sz = int(input())
    a = input()
    ans = int(0)
    for j in range(len(a) - 1, -1, -1):
        if a[j] == ')':
            ans += 1
        elif a[j] != ')':
            break
    if sz - ans < ans:
        print('Yes')
    else:
        print('No')

Solution (Python):
for _ in range(int(input())):
    a = int(input())
    b = input()
    c = 0
    for i in range(1, a + 1):
        if b[-i] != ')':
            break
        c += 1
    d = ['NO', 'YES']
    print(d[c > a - c])