반응형
처음에 r이 실행될때마다 reverse를 해줬는데 시간 초과 에러가 그 부분에서 떠서 left를 이용해서 뒤집기를 했을 때 값을 바꿔주는 방식을 이용했다.
굳이 deque를 안썼어도 left가 true일때 앞에껄 빼주고 false일때는 n을 알고 있기 때문에 뒤에껄 빼주면 된다!
ary를 처음에 리스트로 만들때 1부터 -2까지 긁어모은 이유는 0번째는 '['로 되어있고 -1번째는 ']'로 되어있기 때문이다!
그리고 ary를 빈리스트인 '[]'로 입력 받았을 때 ary에 [''] 이런식으로 저장되기 때문에 if문으로 처음에 처리해줬다.
다른 부분이 다 맞았는데 틀렸다고 떠서 설마 출력 type가 문제인가 싶어서 다른 사람이 한 것을 봤더니
map으로 deque에 있는 숫자들을 int로 바꿔서 출력해야하는 것이 아닌 str으로 출력해야 하는 것 같다..!
import sys
from collections import deque
input = sys.stdin.readline
t = int(input())
for _ in range(t):
command=input()
n=int(input())
ary=list((input()[1:-2].split(',')))
if ary[0]=='':
ary=deque()
else:
ary=deque(ary)
left=True
err=False
for idx in range(len(command)):
if command[idx]=='R':
if left:
left=False
else:
left=True
elif command[idx]=='D':
if n==0:
err=True
break
n-=1
if left:
ary.popleft()
else:
ary.pop()
if err:
print('error')
else:
if not left:
ary.reverse()
print('[',end='')
for idx in range(len(ary)):
print(ary[idx],end='')
if idx!=n-1:
print(',',end='')
print(']')
반응형
'Algorithm > Baekjoon' 카테고리의 다른 글
14002번 파이썬 (0) | 2022.04.04 |
---|---|
1463번 파이썬 (0) | 2022.04.03 |
2193번 파이썬 (0) | 2022.03.31 |
15990번 파이썬 (0) | 2022.03.31 |
11052번 파이썬 (0) | 2022.03.30 |