구현
자료 구조
문자열
파싱
덱
import sys
from collections import deque
t= int(sys.stdin.readline())
qu=deque()
for i in range(t):
rev=0
p= list(sys.stdin.readline().strip())
lenp = len(p)
n= int(sys.stdin.readline().strip())
qu = deque((sys.stdin.readline().strip().strip("[").strip("]").split(",")))
for i in range(lenp):
chk=0
if p[i]=="R":
rev+=1
#qu=deque(reversed(qu)) #qu=deque(sorted(qu, reverse=True))
else :
if len(qu)==0 or n==0:
chk=1
print("error")
break
else :
if rev%2==0:
qu.popleft()
else :
qu.pop()
if(chk==0) :
if(rev%2==0):
res = ','.join(s for s in qu)
print("["+res+"]")
else :
res = ','.join((s) for s in reversed(qu) )
print("["+res+"]")
import sys
from collections import deque
t= int(sys.stdin.readline())
qu=deque()
for i in range(t):
p= list(sys.stdin.readline().strip())
lenp = len(p)
n= int(sys.stdin.readline().strip())
if n==0 and "D" in p: #길이 0개면 에러
tmp=sys.stdin.readline()
print("error")
break
elif n==0 :
tmp=sys.stdin.readline()
print("error")
break
qu = deque(map(int,sys.stdin.readline().strip().strip("[").strip("]").split(",")))
for i in range(lenp):
if p[i]=="R":
qu=deque(reversed(qu)) #qu=deque(sorted(qu, reverse=True))
else :
if len(qu)==0:
print("error")
break
else :
qu.popleft()
res = ','.join(str(s) for s in list(qu))
print("["+(res)+"]")
1) RDDD - 2 - [1,2]
로 입력을 한 경우 에러가 출력되고 []
도 추가적으로 출력, chk 라는 변수를 통해 이 상황 없앰
import sys
from collections import deque
t= int(sys.stdin.readline())
qu=deque()
for i in range(t):
p= list(sys.stdin.readline().strip())
lenp = len(p)
n= int(sys.stdin.readline().strip())
if n==0 and "D" in p: #길이 0개면 에러
tmp=sys.stdin.readline()
print("error")
break
elif n==0 :
tmp=sys.stdin.readline()
print([])
break
qu = deque((sys.stdin.readline().strip().strip("[").strip("]").split(",")))
for i in range(lenp):
chk=0
if p[i]=="R":
qu=deque(reversed(qu)) #qu=deque(sorted(qu, reverse=True))
else :
if len(qu)==0:
chk=1
print("error")
break
else :
qu.popleft()
if(chk==0) :
res = ','.join((s) for s in qu )
print("["+(res)+"]")
import sys
from collections import deque
t= int(sys.stdin.readline())
qu=deque()
for i in range(t):
p= list(sys.stdin.readline().strip())
lenp = len(p)
n= int(sys.stdin.readline().strip())
qu = deque((sys.stdin.readline().strip("[").strip("]").strip().split(",")))
for i in range(lenp):
chk=0
if p[i]=="R":
qu=deque(reversed(qu)) #qu=deque(sorted(qu, reverse=True))
else :
if len(qu)==0 or n==0:
chk=1
print("error")
break
else :
qu.popleft()
if(chk==0) :
res = ','.join((s) for s in qu )
print("["+(res)+"]")