알고리즘/백준

[백준] 5430번 AC (파이썬)

알감자 2021. 12. 28. 20:51
 

5430번: AC

각 테스트 케이스에 대해서, 입력으로 주어진 정수 배열에 함수를 수행한 결과를 출력한다. 만약, 에러가 발생한 경우에는 error를 출력한다.

www.acmicpc.net

 

코드

from sys import stdin, stdout

def AC(com, li):
    left = True
    if len(li) < com.count('D'):
        return 'error\n'
    for c in com:
        if c == 'R': left = not left
        elif c == 'D':
            p = 0 if left else -1
            if li: li.pop(p)
            else: return 'error\n'
    if li:
        if left: return '[' + ','.join(li) + ']\n'
        else: return '[' + ','.join(reversed(li)) + ']\n'
    return '[]\n'

T = int(stdin.readline())
for _ in range(T):
    com = stdin.readline()
    n = stdin.readline().rstrip()
    li = stdin.readline().rstrip()[1:-1].split(',')
    if (n == 0) or (n=='0') : li = []
    stdout.write(AC(com, li))