에디터
04.14에 푼 문제입니당🌷
결과는 잘 나오지만 insert()를 사용하면 시간초과가 발생한다.
#https://www.acmicpc.net/problem/1406
#시간 초과
import sys
import time
input=sys.stdin.readline()
stlist=list(map(str,input()))
n=int(input())
top=len(stlist)
for _ in range(n):
go=list(map(str,input().split()))
if go[0]=='L':
if top==0:
continue
else:
top-=1
elif go[0]=='D':
if top==len(stlist):
continue
else:
top+=1
elif go[0]=='B':
if top==0:
continue
else:
top-=1
stlist.pop(top)
elif go[0]=='P' :
stlist.insert(top,go[1])
top+=1
for i in stlist:
print(i,end='')
다시 푼 코드
배열을 두개 사용하니 시간초과 문제 해결!👍
import sys
input=sys.stdin.readline
stk1=list(map(str,input().strip()))
stk2=[]
n=int(input())
for _ in range(n):
go=list(map(str,input().split()))
if go[0]=='L' and stk1!=[]:
stk2.append(stk1.pop())
elif go[0]=='D' and stk2 !=[]:
stk1.append(stk2.pop())
elif go[0]=='B' and stk1!=[]:
stk1.pop()
elif go[0]=='P':
stk1.append(go[1])
print("".join(stk1+list(reversed(stk2))))