세용용용용 2024. 11. 20. 18:23

5430번: AC

 

나의 풀이

from collections import deque
import sys
input = sys.stdin.readline

n = int(input())
for _ in range(n):
    play_ft = input().rstrip()
    array_n = int(input())
    array = input().rstrip()[1:-1]
    array = array.split(',') if array else []
    array = deque(array)
    
    r_ck = 0
    e_ck = True
    
    for i in play_ft:
        if i == 'R':
            if r_ck == 0:
                r_ck = 1
            else:
                r_ck = 0
        else:
            if array:
                if r_ck:
                    array.pop()
                else:
                    array.popleft()
            else:
                print('error')
                e_ck = False
                break
    
    if e_ck:
        if r_ck == 1:
            array.reverse()
        print('[' + ','.join(array) + ']')

 

시간 복잡도

split 나 reverse 연산이 선형 시간복잡도
해당 알고리즘 시간 복잡도는 선형 시간 복잡도 ( O(n) )