Skip to main content

5430 AC

·115 words·1 min· loading

https://www.acmicpc.net/problem/5430

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

푸른건안어려웠는데 빈 배열이 주어질 경우 예외처리때문에 한참을 헤멨다.

중요한건 실제로 뒤집는게 아니라

boolean 변수 하나를 두고

뒤집는걸 실제로 뒤집는게 아니라

popleft, pop 으로 구현한다

그후 만일 뒤집힌 상태면 리스트를 거꾸로 출력만하면 된다.

import sysfrom collections import dequeinput =sys.stdin.readline
def solve(p:str,l:deque):    ss=0 # 상태바 0은정상 1은 뒤집힌상태    for i in p:
        if i=='R':            ss^=1 #0이면 1로, 1이면 0으로            continue
        else: #버리는연산일경우            if not l: #비어있으면
                print('error')                return            else:
                if ss: #뒤집힌상태면                    l.pop() #뒤에서빼고
                else: #아니면                    l.popleft() #앞에서뺌
    if ss: l.reverse()    print("["+",".join(l)+"]")            t=int(input())
for _ in range(t):    p=input().rstrip()    n=int(input())
    arr=input().rstrip()[1:-1].split(',')    l=deque() if not n else deque(arr)
    solve(p,l)