[ 2023-03-10 ๐Ÿ™†๐Ÿผโ€โ™€๏ธ TIL ]

Burkeyยท2023๋…„ 3์›” 10์ผ
0

TIL

๋ชฉ๋ก ๋ณด๊ธฐ
55/157

๋ฐฑ์ค€ 1406๋ฒˆ

๋ฌธ์ œ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์ฃผ์–ด์ง„ ์ž…๋ ฅ ๋ฌธ์ž์—ด์— ์ปค์„œ์— ์œ„์น˜๋ฅผ ๋ช…๋ น์–ด ๋”ฐ๋ผ ์กฐ์ •ํ•˜์—ฌ ๋ฌธ์ž์—ด์„ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•œ๋‹ค.
์ปค์„œ๋Š” ์ฃผ์–ด์ง„ ๋ฌธ์ž์—ด์˜ ๊ธธ์ด m์˜ m+1์— ์œ„์น˜ํ•œ๋‹ค.

ex) ๋ฌธ์ž์—ด -> abc ์ผ๋•Œ ์ฒ˜์Œ ์œ„์น˜ c๋’ค๋กœ ์„ค์ • abc| (|์ด ํ˜„์žฌ ์ปค์„œ์˜ ์œ„์น˜๋ฅผ ๋‚˜ํƒ€๋ƒ„)

๋ช…๋ น ํšŒ์ˆ˜ n ์ด ์ฃผ์–ด์งˆ ๋•Œ

์ž…๋ ฅ ๊ฐ’์œผ๋กœ L์ด ๋“ค์–ด๊ฐ€๋ฉด ์ปค์„œ๋ฅผ ์™ผ์ชฝ์œผ๋กœ ์ด๋™ ex) ab|c
์ž…๋ ฅ ๊ฐ’์œผ๋กœ D์ผ ๋•Œ๋Š” ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ปค์„œ ์ด๋™ ex) abc|
B๊ฐ€ ์ž…๋ ฅ ๊ฐ’์ผ ๋•Œ๋Š” ํ˜„์žฌ ์ปค์„œ ๊ธฐ์ค€์œผ๋กœ ์™ผ์ชฝ ์‚ญ์ œ ex) ab|
P๊ฐ€ ์ž…๋ ฅ ๊ฐ’์ผ ๋•Œ๋Š” ๋‘๋ฒˆ์งธ๋กœ ๋“ค์–ด์˜จ ์ž…๋ ฅ ๊ฐ’์„ ํ˜„์žฌ์ปค์„œ ๊ธฐ์ค€ ์˜ค๋ฅธ์ชฝ์— ๋„ฃ์Œ ex) 'P s' -> abs|

import sys

input = sys.stdin.readline

left = list(input().strip())
n = int(input())

right = []

for _ in range(n):
    command = input().split()
    if command[0] == 'L':
        if len(left) > 0:
            right.append(left.pop()) 
			# ์ž…๋ ฅ ๊ฐ’์„ ์˜ค๋ฅธ์ชฝ ๋ฐฐ์—ด์— ๋„ฃ๋Š”๋‹ค ํ˜„์žฌ ์ปค์„œ์˜ ์œ„์น˜๋Š” ์™ผ์ชฝ ๋ฐฐ์—ด์˜ ๋๋ถ€๋ถ„์„ ๊ฐ€๋ฅดํ‚ด
    elif command[0] == 'D':
        if len(right) > 0:
            left.append(right.pop()) 
            # ์˜ค๋ฅธ์ชฝ ๊ฐ’์˜ ๋๊ฐ’์„ ์™ผ์ชฝ์— ๋„—๋Š”๋‹ค. (๋งˆ์ง€๋ง‰์— ์‚ญ์ œ๋œ ์š”์†Œ๊ฐ€ ์˜ค๋ฅธ์ชฝ๋ฐฐ์—ด ๋งˆ์ง€๋ง‰์— ์œ„์น˜ํ•ด์žˆ๊ธฐ์—)
    elif command[0] == 'B':
        if len(left) > 0:
            left.pop() 
            # ํ˜„์žฌ ์ปค์„œ์˜ ์œ„์น˜์˜ ์™ผ์ชฝ์„ ์‚ญ์ œ์‹œํ‚ด
    elif command[0] == 'P':
        left.append(command[1])
		# ํ˜„์žฌ ์ปค์„œ ๊ธฐ์ค€์œผ๋กœ ๊ฐ’ ์ถ”๊ฐ€

right = list(reversed(right))
# ์˜ค๋ฅธ์ชฝ ๋ฐฐ์—ด์„ ์‚ญ์ œ๋œ ์ˆœ์œผ๋กœ ์ •๋ ฌ๋˜์–ด์žˆ์–ด ์—ญ์ˆœ์œผ๋กœ ๋‹ค์‹œ ์ •๋ ฌํ•ด์ค˜์•ผํ•œ๋‹ค. 

print(''.join(map(str, (left + right))))
profile
์Šคํƒฏ ์˜ฌ๋ฆฌ๋Š” ์ค‘

0๊ฐœ์˜ ๋Œ“๊ธ€