실험실
  • [백준] 5430번: AC - 파이썬
    2024년 11월 18일 20시 13분 19초에 업로드 된 글입니다.
    작성자: B1NK
    728x90
    • 백준 링크: 5430번: AC
    • solved.ac 난이도: 골드 V
    • 시간 제한: 1 초
    • 메모리 제한: 256 MB

    문제

    선영이는 주말에 할 일이 없어서 새로운 언어 AC를 만들었다. AC는 정수 배열에 연산을 하기 위해 만든 언어이다. 이 언어에는 두 가지 함수 R(뒤집기)과 D(버리기)가 있다.

    입력

    첫째 줄에 테스트 케이스의 개수 T가 주어진다. T는 최대 100이다.

    출력

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

    코드

    import sys
    from collections import deque
    
    input = sys.stdin.readline
    n = int(input())
    for i in range(n):
        a = input().strip()
        m = int(input())
        flag = 1
        arr = input().strip()
        dq = deque(arr[1:-1].split(','))
        if m == 0:
            dq = deque()
        R = 0
        for i in range(len(a)):
            if a[i] == 'R':
                R += 1
            elif a[i] == 'D':
                if len(dq) == 0:
                    print('error')
                    flag = 0
                    break
                else:
                    if R % 2 == 0:
                        dq.popleft()
                    else:
                        dq.pop()
    
        if flag == 0:
            continue
        else:
            if R % 2 == 0:
                print('[' + ",".join(dq) + ']')
            else:
                dq.reverse()
                print('[' + ",".join(dq) + ']')
    728x90
    댓글