๋๊ฐ ์คํ ์ฌ์ฉ
ํ์ด.์ด๋ป๊ฒ ์ ๊ทผ ํ๊ณ ์ด๋ค ๊ฒ์ด ์ค์ํ๋?
์ฌ์ค ์ปค์ ๊ฐ์ ๋ฌธ์ ๊ฐ ๋ฑ ๋์ค์๋ง์ ์ด์ ์ ํ์๋๊ฒ ์๊ฐ๋์ ์คํ 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)
'CodingTest' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python]๋ฐฑ์ค 1874 ::์คํ์์ด ๋ฌธ์ ํ์ด (0) | 2021.05.12 |
---|---|
[Python]๋ฐฑ์ค 1935 ::ํ์ํ๊ธฐ์ (0) | 2021.05.12 |
[Python]๋ฐฑ์ค 2346 ::ํ์ ํฐ๋จ๋ฆฌ๊ธฐ ๋ฌธ์ ํ์ด (0) | 2021.05.12 |
[Python]๋ฐฑ์ค 1158 ::์กฐ์ธํผ์ค ๋ฌธ์ ํ์ด (0) | 2021.05.12 |
[Python]๋ฐฑ์ค11286::์ ๋๊ฐ ํ ๋ฌธ์ ํ์ด (0) | 2021.05.04 |
๋๊ธ