Good String (Codeforces 1140B)
Tags: Implement, strings

You have a string $$$s$$$ of length $$$n$$$ consisting of only characters > and <. You may do some operations with this string, for each operation you have to choose some character that still remains in the string. If you choose a character >, the character that comes right after it is deleted (if the character you chose was the last one, nothing happens). If you choose a character <, the character that comes right before it is deleted (if the character you chose was the first one, nothing happens).For example, if we choose character > in string > > < >, the string will become to > > >. And if we choose character < in string > <, the string will become to <.The string is good if there is a sequence of operations such that after performing it only one character will remain in the string. For example, the strings >, > > are good. Before applying the operations, you may remove any number of characters from the given string (possibly none, possibly up to $$$n - 1$$$, but not the whole string). You need to calculate the minimum number of characters to be deleted from string $$$s$$$ so that it becomes good.

Input: The first line contains one integer $$$t$$$ ($$$1 \le t \le 100$$$) – the number of test cases. Each test case is represented by two lines.The first line of $$$i$$$-th test case contains one integer $$$n$$$ ($$$1 \le n \le 100$$$) – the length of string $$$s$$$.The second line of $$$i$$$-th test case contains string $$$s$$$, consisting of only characters > and <.

Output: For each test case print one line.For $$$i$$$-th test case print the minimum number of characters to be deleted from string $$$s$$$ so that it becomes good.

Note: In the first test case we can delete any character in string <>.In the second test case we don't need to delete any characters. The string > < < is good, because we can perform the following sequence of operations: > < < $$$\rightarrow$$$ < < $$$\rightarrow$$$ <.

Sample Inputs:
3
2
<>
3
><<
1
>

Sample Outputs:
1
0
0

Solution (Python):
t = int(input())
for _ in range(t):
    n = int(input())
    a = input()
    res = n - 1
    for i in range(n):
        if a[i] == '>' or a[n - 1 - i] == '<':
            res = min(res, i)
    print(res)

Solution (Python):
for _ in [0] * int(input()):
    n = int(input())
    s = input()
    print(min((s + '>').find('>'), n - ('<' + s).rfind('<')))

Solution (Python):
for p in [0] * int(input()):
    n = int(input())
    s = input()
    print(min(s.find('>') % n, n - 1 - s.rfind('<')))