๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
CodingTest

[Python]๋ฐฑ์ค€ 1406 ::์—๋””ํ„ฐ ๋ฌธ์ œ ํ’€์ด

by ๋„์บ๋ฆฌ๐Ÿฑ 2021. 5. 12.
๋ฐ˜์‘ํ˜•

๋‘๊ฐœ ์Šคํƒ ์‚ฌ์šฉ

 

ํ’€์ด.์–ด๋–ป๊ฒŒ ์ ‘๊ทผ ํ•˜๊ณ  ์–ด๋–ค ๊ฒƒ์ด ์ค‘์š”ํ–ˆ๋‚˜?

์‚ฌ์‹ค ์ปค์„œ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ๋”ฑ ๋‚˜์˜ค์ž๋งˆ์ž ์ด์ „์— ํ’€์—ˆ๋˜๊ฒŒ ์ƒ๊ฐ๋‚˜์„œ ์Šคํƒ 2๊ฐœ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ๊ฒ ๋‹ค๊ณ  ์ ‘๊ทผํ–ˆ๋‹ค.

LAST IN FIRST OUT

 

๋น„๋ฐ€ ๋ฒˆํ˜ธ ๋ฌธ์ œ ์ฒ˜๋Ÿผ ์ปค์„œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์Šคํƒ 2๊ฐœ๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๊ฒŒ ์ข‹๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.

์•ž ์Šคํƒ(stk_1)์— ๋“ค์–ด์˜จ ๋ฌธ์ž๋ฅผ ๋‹ค ๋„ฃ๋Š”๋‹ค.

์„ธ๊ฐ€์ง€ ๊ฐ’์€ ์•ŒํŒŒ๋ฒณํ•˜๋‚˜๋‹ˆ๊นŒ,

else ๋ฌธ์œผ๋กœ 'P x'๋ฅผ ๋บ€๋‹ค.

์™ผ์ชฝ์œผ๋กœ ํ•œ์นธ ์ปค์„œ ์˜ฎ๊ธฐ๋Š”๊ฒŒ ๋“ค์–ด์˜ค๋ฉด ์•ž์Šคํƒ์ด ๋น„์–ด์žˆ์ง€ ์•Š๋‹ค๋ฉด ๋’ค์Šคํƒ์œผ๋กœ ๋งˆ์ง€๋ง‰ ๊ฐ’์œผ๋กœ ์–ดํŒฌ๋“œํ•œ๋‹ค.

์˜ค๋ฅธ์ชฝ์œผ๋กœ ํ•œ์นธ ์ปค์„œ ์˜ฎ๊ธฐ๋Š”๊ฒŒ ๋“ค์–ด์˜ค๋ฉด ์˜ค๋ฅธ์ชฝ ์Šคํƒ์ด ๋น„์–ด์žˆ์ง€ ์•Š๋‹ค๋ฉด ์˜ค๋ฅธ์ชฝ ์Šคํƒ์˜ ๋งˆ์ง€๋ง‰ ๊ฐ’์„ ์•ž์Šคํƒ์— ์–ดํŒฌ๋“œ ํ•œ๋‹ค.

์ปค์„œ ์™ผ์ชฝ์— ์žˆ๋Š” ๋ฌธ์ž ์‚ญ์ œ๊ฐ€ ๋“ค์–ด์˜ค๋ฉด ์•ž ์Šคํƒ์ด ๋น„์–ด์ด์ง€ ์•Š๋‹ค๋ฉด ๋งˆ์ง€๋ง‰ ๊ฐ’์„ ํŒํ•œ๋‹ค.

๋ฌธ์ž ์ถ”๊ฐ€๋Š” ์•ž ์Šคํƒ์— ์–ดํŒฌ๋“œํ•œ๋‹ค.

๊ฒฐ๊ณผ ๊ฐ’์€ ์•ž์Šคํƒ + ๋’ค์Šคํƒ ๊ฑฐ๊พธ๋กœ ํ•ด์„œ ์ถœ๋ ฅ์ด๋‹ค.

 

๊ตฌํ˜„ ์ฝ”๋“œ

string = input()
# ๊ธธ์ด N, ์˜์–ด ์†Œ๋ฌธ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ์Œ ๊ธธ์ด<100000

stk_1 = []
stk_2 = []

for i in range(len(string)):
    stk_1.append(string[i])

m = int(input())

for i in range(m):
    k = input()
    if k == 'D':
        if(len(stk_2) != 0):
            stk_1.append(stk_2.pop(-1))
    elif k == 'L':
        if(len(stk_1) != 0):
            stk_2.append(stk_1.pop(-1))
    elif k == 'B':
        if(len(stk_1) != 0):
            stk_1.pop(-1)
    else:
        p,value = map(str,k.split())
        stk_1.append(value)

stk_2.reverse()

result = ''.join(stk_1)+''.join(stk_2)
print(result)
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€