[白駿5430]交流-キュー(Python/Python)

1466 ワード

50%、75%になると、暇があるとミスが続きます.なぜなら、空Qになる条件がうまく実現していないからです.これは辛抱強い限界を感じているからです.
1)最初は[]がこのように入ってきたとしても,DではなくRを与え続けると,[]をエラーではなく返すべきである.
2)[1,2]このようなキューがあるときにDDがある場合は、エラーではなく[]を返さなければなりません.
これらの条件をもっとよく観察しなければなりません!!
# -*- coding: utf-8 -*-
"""
Created on Sun Sep 26 11:51:02 2021

@author: 82103
"""

from collections import deque
def AC(a, rev, com,e): # 배열, 리버스스위치, 명령어

    if com == 'R': # 리버스
        if rev == True:
            rev = False
        else:
            rev = True
    else: # 삭제
        if len(a) == 0: # 삭제 불가
            print('error')
            e = True
        
        else:
            if rev == False:
                a.popleft()
            else:
                a.pop()
                
    return a, rev, e


T = int(input())

for i in range(T):
    
    rev = False # 초기화
    p = list(input().rstrip())
    n = int(input())
    a = input().rstrip()
    e = False
    
    if n == 0:
        a = deque([])
    
    else:
        a = deque(list(map(int, a[1:-1].split(','))))
    
    for j in range(len(p)):
        a, rev,e = AC(a, rev, p[j],e)
        if e:
            break
 
    if e == False:
        if rev == False:
            a = list(a)
            print('['+','.join(map(str,a))+']')
        else:
            a = list(reversed(a))
            print('['+','.join(map(str,a))+']')