ํ’€์ด


์ฒด์ŠคํŒ์— ์ฃผ์–ด์ง„ ํ‚น์„ ๋ช…๋ น์–ด์— ๋”ฐ๋ผ ์›€์ง์ด๋ฉฐ ์ตœ์ข… ์œ„์น˜๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค.

์ด ๋•Œ ์ฒด์ŠคํŒ์— ๋Œ๋งน์ด๊ฐ€ ์ฃผ์–ด์ง€๋Š”๋ฐ ํ‚น์ด ๋ฐ€๋ฉด์„œ ์›€์ง์ผ ์ˆ˜ ์žˆ๋‹ค.

๋จผ์ € ์ฃผ์–ด์ง„ ๋ช…๋ น์–ด์— ๋”ฐ๋ฅธ ์ด๋™์ขŒํ‘œ๋ฅผ ๋”•์…”๋„ˆ๋ฆฌ์— ๋‹ด์•„ ์ €์žฅํ•œ๋‹ค.

์ดํ›„ ์ž…๋ ฅ๋ฐ›์€ ์ขŒํ‘œ๋“ค์„ ๋ฐฐ์—ด์ขŒํ‘œ์— ๋งž์ถฐ์„œ ๋ฐ”๊ฟ”์ค€ ํ›„ ๋ช…๋ น์–ด ๋ฐ˜๋ณต๋ฌธ์„ ์‹คํ–‰ํ•œ๋‹ค.

๋ฐ›์€ ๋ช…๋ น์–ด์— ๋”ฐ๋ผ ํ‚น์˜ ์ขŒํ‘œ๊ฐ€ ๋ฐ”๋€”ํ…๋ฐ ์ฒด์ŠคํŒ์„ ๋ฒ—์–ด๋‚  ๊ฒฝ์šฐ ๋ช…๋ น์ด ๋ฌด์‹œ๋˜๋‹ˆ ํ‚น์˜ ๋‹ค์Œ์ขŒํ‘œ๊ฐ€ ๋ฒ”์œ„ ๋‚ด์ธ์ง€๋ถ€ํ„ฐ ํŒ๋‹จํ•œ๋‹ค.

์ดํ›„ ๊ณ ๋ คํ•ด์•ผํ•  ์ ์€ ๋Œ๋งน์ด๊ฐ€ ์žˆ๋Š” ์œ„์น˜๋กœ ์ด๋™ํ–ˆ์„ ๊ฒฝ์šฐ์ด๋‹ค.

๋Œ๋งน์ด๊ฐ€ ์žˆ๋Š” ์œ„์น˜๋กœ ์ด๋™ํ•ด์•ผํ•  ๊ฒฝ์šฐ ๋Œ๋งน์ด ์—ญ์‹œ ๊ฐ™์€ ๋ฐฉํ–ฅ์œผ๋กœ ์ด๋™ํ•ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋Œ๋งน์ด๊ฐ€ ์ฒด์ŠคํŒ์˜ ๋ฒ”์œ„ ๋‚ด์— ์žˆ๋Š” ์ง€ ๊นŒ์ง€ ๊ณ ๋ คํ•ด์ค€๋‹ค.

์œ„ ์กฐ๊ฑด๋“ค์„ ํŒ๋‹จํ•˜์—ฌ ํ‚น๊ณผ ๋Œ๋งน์ด์˜ ์ขŒํ‘œ๋ฅผ ๊ณ„์† ์—…๋ฐ์ดํŠธ ํ•ด์ค€๋‹ค.

๋ชจ๋“  ๋ช…๋ น๋ฌธ์ด ๋๋‚˜๋ฉด ์ถœ๋ ฅ์กฐ๊ฑด์— ๋งž์ถฐ ํ‚น๊ณผ ๋Œ๋งน์ด์˜ ์ขŒํ‘œ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

์†Œ์Šค์ฝ”๋“œ


# ํ‚น
from collections import deque
import sys
input = sys.stdin.readline
 
d = {"R":(1, 0), "L":(-1, 0), "B":(0, -1), "T":(0, 1), "RT":(1, 1), "LT":(-1, 1), "RB":(1, -1), "LB":(-1, -1), }
 
king, rock, n = input().rstrip().split()
kx = ord(king[0]) - 65
ky = int(king[1]) - 1
rx = ord(rock[0]) - 65
ry = int(rock[1]) - 1
 
for _ in range(int(n)):
    cmd = input().rstrip()
    dx, dy = d[cmd]
    nkx = kx + dx
    nky = ky + dy
    nrx = rx + dx
    nry = ry + dy
    if 0 <= nkx < 8 and 0 <= nky < 8:
        if nkx == rx and nky == ry:
            if 0 <= nrx < 8 and 0 <= nry < 8:
                kx, ky, rx, ry = nkx, nky, nrx, nry
        else:
            kx, ky = nkx, nky
 
print(chr(kx+65) + str(ky+1))
print(chr(rx+65) + str(ry+1))

References