[백준] 5430번 AC - 파이썬/문자열

JinUk Lee·2023년 2월 1일
0

백준 알고리즘

목록 보기
33/78

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



T = int(input())

for t in range(T):

    p = list(input())

    n = int(input())

    arr = list(input().lstrip('[').rstrip(']').split(','))

    if arr == ['']:
        arr = []


    front = 1
    error = False

    for com in p:

        if com == 'R':
            front = 1-front

        elif com == 'D':
            if len(arr)==0:
                error = True
                break
            else:
                if front:
                    arr.pop(0)
                else:
                    arr.pop(-1)

    if error:
        print('error')
    else:
        if front:
            print( '[' + ','.join(arr)+']')
        else:
            arr.reverse()
            print( '[' + ','.join(arr)+']')

시간 초과를 방지하기 위해 R이 나왔다고 행렬을 뒤집기보다는 방향을 바꿔주는게 좋다.

그리고 출력이 리스트가 아니다.


[1, 2, 3, 4, 5]  # 일반적인 리스트 출력
[1,2,3,4,5] # 해당 문제에서의 출력

쉼표 뒤의 공백이 없으므로 출력값을 똑같이 만들어줘야한다.

profile
개발자 지망생

0개의 댓글