ํ’€์ด


์ฃผ์–ด์ง„ ๋ช…๋ น์— ๋”ฐ๋ผ ๋ฌธ์ž์—ด์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ตฌํ˜„๋ฌธ์ œ์ด๋‹ค.

ํŒŒ์ด์ฌ์—์„œ ๊ธฐ๋ณธ์œผ๋กœ ์ œ๊ณตํ•˜๋Š” reverse ๋‚˜ pop ์„ ํ†ตํ•ด ์‰ฝ๊ฒŒ ํ’€ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์˜€์ง€๋งŒ, ์‹œ๊ฐ„์ดˆ๊ณผ๋กœ ์ธํ•ด ๋‹ค๋ฅธ ๋ฐฉ๋ฒ• ์ฐพ์•„์•ผํ–ˆ๋‹ค.

๋ฐฉ๋ฒ•์€ ์ƒ๊ฐ๋ณด๋‹ค ๊ฐ„๋‹จํ•˜๋‹ค. ๋ช…๋ น์–ด ์ˆœ์„œ์— ๋”ฐ๋ผ์„œ ๋ฌธ์ž์—ด์˜ ์ขŒ์ธก ํ˜น์€ ์šฐ์ธก์ด ์–ผ๋งˆ๋‚˜ ์ œ๊ฑฐ๋  ๊ฒƒ์ธ์ง€ ๋ฏธ๋ฆฌ ํŒŒ์•…์„ ํ•œ ํ›„ ์ธ๋ฑ์‹ฑ์„ ํ†ตํ•ด ํ’€๋ฉด๋œ๋‹ค.

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


import sys
 
input = sys.stdin.readline
 
T = int(input())
 
for _ in range(T):
    p = input().rstrip()
    p.replace('RR', '')
    n = int(input())
    x = input().rstrip()[1:-1].split(',')
    l, r, b = 0, 0, True
 
    for c in p:
        if c == 'R':
            b = not b
        elif c == 'D':
            if b:
                l += 1
            else:
                r += 1
    
    if l+r > n:
        print('error')
    else:
        x = x[l:n-r]
        if b:
            x = ','.join(x)
        else:
            x = ','.join(x[::-1])
        print(f'[{x}]')

References