코딩테스트 대비/BOJ
[Baekjoon/Python] 5403번: AC - 효과는 굉장했다!
bluetag_boy
2022. 3. 9. 02:56
반응형
5430번: AC
각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다.
www.acmicpc.net
알고리즘 분류
- 구현
- 자료 구조
- 문자열
- 파싱
- 덱
SOLUTION
import sys
from collections import deque
T = int(sys.stdin.readline())
for _ in range(T):
p = sys.stdin.readline()
n = int(sys.stdin.readline())
array = deque(sys.stdin.readline().rstrip()[1:-1].split(','))
if n == 0:
array = deque()
state = True
cnt = 0
for i in p:
# cnt가 홀수면 뒤집고, cnt가 짝수면 그대로
if i == 'R':
cnt += 1
elif i == 'D':
if array:
# 뒤집어진 상태이기 때문에 원래 배열의 마지막 수를 버림
if cnt % 2 == 1:
array.pop()
# 원래 배열 상태이기 때문에 첫번째 수를 버림
else:
array.popleft()
else:
print("error")
state = False
break
if state:
if cnt % 2 == 1:
array.reverse()
print("[" + ",".join(array) + "]")
else:
print("[" + ",".join(array) + "]")