알고리즘 공부/백준

(Python)백준 코딩테스트 연습 - AC(5430)

HRuler 2023. 7. 4. 15:02

1. 문제

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

 

5430번: AC

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

www.acmicpc.net

2. 풀이

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

# t : 테스트 케이스 수
t = int(input())

for i in range(t):
    order = list(input().strip())
    n = int(input())
    p = input().strip()
    if n < order.count("D"):
        print("error")
        continue
    pList = deque(p[1:-1].split(","))
    isReverse = 0
    for j in order:
        if j == "R":
            if isReverse == 0:
                isReverse = 1
            else:
                isReverse = 0
        if j == "D":
            if isReverse == 0:
                pList.popleft()
            else:
                pList.pop()
    if isReverse == 0:
        print("[" + ",".join(pList) + "]")
    else:
        pList.reverse()
        print("[" + ",".join(pList) + "]")

3. FeedBack

 - 이전에도 하던 실수인 문자를 입력받을 때 strip()을 하지 않아서 오류가 나던 문제가 다시 발생했다.

 틀렸습니다를 4번 받고 다시 한번 깨달아 수정하였는데, 같은 실수를 다시 하지 않도록 유의하자.