백준 5430 풀이 (AC, 큐, 파이썬)

    백준 5430 풀이 (AC, 큐, 파이썬)

    이번 문제는 은근히 손이 가는 문제였다. 문제 자체가 어렵지는 않다. R함수와 D함수에 맞춰 역할을 해주면 될뿐이다. 다만 시간제한이 1초이기 때문에 최대한 효율적으로 만들어 주어야 한다. 따라서 여러 조건에 맞추어 불필요한 부분을 제거하거나 트릭을 써주면 된다. 1. R이 R과 붙어있는 경우 제거해준다. (거꾸로 2번하면 원상태이기 때문) 2. opcode에 존재하는 D의 개수와 실제 주어지는 값의 개수 비교 3. R의 여부에 따라 앞을 뽑아낼지 뒤를 뽑아낼지 결정 (왜냐하면 실제 q를 거꾸로 배열해서 연산을 하려고 하면 큐의 크기가 큰 경우 시간이 오래걸린다. 그래서 굳이 reverse()를 쓰지 않고 앞을 뺄지 뒤를 뺄지 결정하는 것이다.) 4. 마지막에 출력방향을 결정하여 출력. 이때 살짝 어려웠..