We will find a way, we always have.

-interstellar

Problem Solving/๋ฐฑ์ค€

[๋ฐฑ์ค€] 1406๋ฒˆ: ์—๋””ํ„ฐ - ํŒŒ์ด์ฌ

Redddy 2022. 4. 30. 16:18

๐Ÿงฉ๋ฌธ์ œ ํ•ด์„

์Šคํƒ๊ณผ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์ด์šฉํ•œ ๋‹จ์ˆœ ๊ตฌํ˜„ ๋ฌธ์ œ๋‹ค. ์ด์ „์— ํ•œ๋ฒˆ ํ’€์—ˆ๋˜ ์œ ํ˜•์ด์—ฌ์„œ ์‰ฝ๊ฒŒ ํ’€์—ˆ๋˜๊ฒƒ ๊ฐ™๋‹ค. ๊ทธ๋•Œ ์—ด์‹ฌํžˆ ๊ณ ๋ฏผํ–ˆ๋˜๊ฒŒ ์•„์ง ๋จธ๋ฆฌ์— ๋‚จ์•„ ์žˆ์—ˆ๋‹ค.

 

๐Ÿ“˜ํ’€์ด

๋“ค์–ด ์˜ค๋Š” ์ž…๋ ฅ๋“ค์„ L, B, P $, D ๋กœ ์ž˜ ๊ตฌ๋ถ„ํ•˜์—ฌ ์ฒ˜๋ฆฌํ•ด์ค€๋‹ค.
L ์ž…๋ ฅ : ๋ฌธ์ž์—ด.pop() ๊ทธ๋ฆฌ๊ณ  ๊ทธ ๋ฌธ์ž๋ฅผ ์ƒˆ๋กœ์šด ์Šคํƒ ์ˆ˜์—ด์— append()
B ์ž…๋ ฅ : ๋ฌธ์ž์—ด.pop()
P $ ์ž…๋ ฅ : ๋ฌธ์ž์—ด.append($)
D ์ž…๋ ฅ : ์Šคํƒ.pop() ๊ทธ๋ฆฌ๊ณ  ๊ทธ ์Šคํƒ ๋ฌธ์ž๋ฅผ ๋ฌธ์ž์—ด์— append()

์ด ๋•Œ ์กฐ์‹ฌํ•ด์•ผํ•˜๋Š”๊ฒŒ ์Šคํƒ๋ฆฌ์ŠคํŠธ๋‚˜ ๋ฌธ์ž์—ด ๋ฆฌ์ŠคํŠธ๊ฐ€ ๋น„์–ด์žˆ์œผ๋ฉด pop() ํ•จ์ˆ˜ ์‚ฌ์šฉ์‹œ ์—๋Ÿฌ๊ฐ€ ๋‚œ๋‹ค. ์ฒ˜๋ฆฌ๋ฅผ ์ž˜ ํ•ด์ค˜์•ผ ํ•œ๋‹ค.

 

๐Ÿ’ป์ฝ”๋“œ

import sys
input = sys.stdin.readline

word = list(input().rstrip()) # ์ดˆ๊ธฐ ๋ฌธ์ž์—ด
lis = [] # ๋ช…๋ น ์ฝ”๋“œ ๋‹ด์„ ๋ฆฌ์ŠคํŠธ
stk = [] # ์ปค์„œ ์ด๋™์‹œ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ๋ฆฌ์ŠคํŠธ
m = int(input()) 
for i in range(m):
	# ๋ช…๋ น ์ฝ”๋“œ ๋ฆฌ์ŠคํŠธ์— ๋‹ด๊ธฐ
    code = input().rstrip()
    lis.append(code)

for j in lis:
    if j == "L":
        if len(word) != 0:
        	# ์ปค์„œ๊ฐ€ ์™ผ์ชฝ์œผ๋กœ ์ด๋™ํ•˜๋ฉด ๋ฌธ์ž์—ด์— ๋ฌธ์žํ•˜๋‚˜ ๋นผ๊ณ  ์Šคํƒ์— ์ถ”๊ฐ€, ๋‹จ ๋ฌธ์ž์—ด์ด ๋น„์ง€ ์•Š์•˜์„์‹œ
            stk.append(word.pop())
    elif j == "D":
        if len(stk) != 0:
        	# ์ปค์„œ๊ฐ€ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ด๋™. ์Šคํƒ์— ๋ฌธ์ž๋ฅผ ๋ฌธ์ž์—ด์— ์ถ”๊ฐ€, ๋‹จ ์Šคํƒ์ด ๋น„์ง€ ์•Š์•˜์„์‹œ
            word.append(stk.pop())
    elif j == "B":
        if len(word) != 0:
        	# ๋ฐฑ์ŠคํŒจ์ด์Šค ์‹คํ–‰ ๋‹จ ๋ฌธ์ž์—ด์ด ๋น„์ง€ ์•Š์•˜์„์‹œ
            word.pop()
    else:
    	# ๋ฌธ์ž์—ด ์ถ”๊ฐ€
        a, b = j.split()
        word.append(b)
# ๋ฌธ์ž์—ด๊ณผ ์Šคํƒ์— ๋‚จ์•„์žˆ๋Š” ๋ฌธ์ž๋“ค ์ถœ๋ ฅ
print("".join(word + stk[::-1]))

์ค‘๊ฐ„์— ๋ช…๋ น ์ฝ”๋“œ๋ฅผ ๋”ฐ๋กœ ์ €์žฅํ•˜์ง€ ์•Š๊ณ  ๋ฐ”๋กœ ์ฒ˜๋ฆฌํ•ด๋„ ๋ ๊ฑฐ ๊ฐ™๋‹ค.

 

๐Ÿ“Ž๋ฌธ์ œ๋งํฌ: 1406๋ฒˆ: ์—๋””ํ„ฐ

 

1406๋ฒˆ: ์—๋””ํ„ฐ

์ฒซ์งธ ์ค„์—๋Š” ์ดˆ๊ธฐ์— ํŽธ์ง‘๊ธฐ์— ์ž…๋ ฅ๋˜์–ด ์žˆ๋Š” ๋ฌธ์ž์—ด์ด ์ฃผ์–ด์ง„๋‹ค. ์ด ๋ฌธ์ž์—ด์€ ๊ธธ์ด๊ฐ€ N์ด๊ณ , ์˜์–ด ์†Œ๋ฌธ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ์œผ๋ฉฐ, ๊ธธ์ด๋Š” 100,000์„ ๋„˜์ง€ ์•Š๋Š”๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” ์ž…๋ ฅํ•  ๋ช…๋ น์–ด์˜ ๊ฐœ์ˆ˜

www.acmicpc.net