Compare T-Shirt Sizes (Codeforces 1741A)
Tags: Implement, strings

Two T-shirt sizes are given: $$$a$$$ and $$$b$$$. The T-shirt size is either a string M or a string consisting of several (possibly zero) characters X and one of the characters S or L.For example, strings M, XXL, S, XXXXXXXS could be the size of some T-shirts. And the strings XM, LL, SX are not sizes.The letter M stands for medium, S for small, L for large. The letter X refers to the degree of size (from eXtra). For example, XXL is extra-extra-large (bigger than XL, and smaller than XXXL).You need to compare two given sizes of T-shirts $$$a$$$ and $$$b$$$.The T-shirts are compared as follows:   any small size (no matter how many letters X) is smaller than the medium size and any large size;  any large size (regardless of the number of letters X) is larger than the medium size and any small size;  the more letters X before S, the smaller the size;  the more letters X in front of L, the larger the size. For example:   XXXS < XS  XXXL > XL  XL > M  XXL = XXL  XXXXXS < M  XL > XXXS 

Input: The first line of the input contains a single integer $$$t$$$ ($$$1 \le t \le 10^4$$$) — the number of test cases.Each test case consists of one line, in which $$$a$$$ and $$$b$$$ T-shirt sizes are written. The lengths of the strings corresponding to the T-shirt sizes do not exceed $$$50$$$. It is guaranteed that all sizes are correct.

Output: For each test case, print on a separate line the result of comparing $$$a$$$ and $$$b$$$ T-shirt sizes (lines "<", ">" or "=" without quotes).


Sample Inputs:
6
XXXS XS
XXXL XL
XL M
XXL XXL
XXXXXS M
L M

Sample Outputs:
<
>
>
=
<
>

Solution (Python):
import sys
sys.setrecursionlimit(100000000)
input = lambda : sys.stdin.readline().strip()
write = lambda x: sys.stdout.write(str(x) + '\n')
t = int(input())
for _ in range(t):
    (a, b) = input().split()
    if a[-1] != b[-1]:
        if a[-1] == 'S':
            print('<')
        elif a[-1] == 'M':
            if b[-1] == 'S':
                print('>')
            else:
                print('<')
        else:
            print('>')
    elif a == b:
        print('=')
    else:
        x = len(a) - 1
        y = len(b) - 1
        if a[-1] == 'S':
            if x > y:
                print('<')
            else:
                print('>')
        elif x > y:
            print('>')
        else:
            print('<')

Solution (Python):
for s in [*open(0)][1:]:
    (x, y) = ('ML'.find(x[-1]) * len(x) for x in s.split())
    print('=<>'[(x < y) - (y < x)])

Solution (Python):
for s in [*open(0)][1:]:
    (x, y) = ('ML'.find(x[-1]) * len(x) for x in s.split())
    print('=<>'[(x < y) - (y < x)])