처음에 실버 4라서 엄청 만만해게 봤는데 막상 구현하려니까 너무 어려웠다... 나는 딕셔너리를 사용해서 방향을 다 저장하고 풀었다.
king, stone, N = input().split()
k = list(map(int, [ord(king[0]) - 64, king[1]]))
s = list(map(int, [ord(stone[0]) - 64, stone[1]]))
move = {'R': [1, 0], 'L': [-1, 0], 'B': [0, -1], 'T': [0, 1], 'RT': [1, 1], 'LT': [-1, 1], 'RB': [1, -1], 'LB': [-1, -1]}
for _ in range(int(N)):
m = input()
nx = k[0] + move[m][0]
ny = k[1] + move[m][1]
if 0 < nx <= 8 and 0 < ny <= 8:
if nx == s[0] and ny == s[1]:
sx = s[0] + move[m][0]
sy = s[1] + move[m][1]
if 0 < sx <= 8 and 0 < sy <= 8:
k = [nx, ny]
s = [sx, sy]
else:
k = [nx, ny]
print(f'{chr(k[0] + 64)}{k[1]}')
print(f'{chr(s[0] + 64)}{s[1]}')