시간 제한
메모리 제한
시간 제한
0.3초
메모리 제한
512 MB
한 줄짜리 문자열을 편집하는 간단한 에디터를 구현한다. 이 에디터에는 영어 소문자만 저장할 수 있으며, 문자열의 길이는 최대 600,000자까지 가능하다.
에디터에는 커서가 있다. 커서는 문자열의 맨 앞, 맨 뒤, 또는 두 연속한 문자 사이에 있을 수 있다. 현재 문자열의 길이가 L이면 커서가 놓일 수 있는 위치는 모두 L+1곳이다.
지원하는 명령은 다음 네 가지이다.
| 명령 | 동작 |
|---|---|
| L | 커서를 왼쪽으로 한 칸 옮긴다. 커서가 문자열의 맨 앞이면 아무 일도 일어나지 않는다. |
| D | 커서를 오른쪽으로 한 칸 옮긴다. 커서가 문자열의 맨 뒤이면 아무 일도 일어나지 않는다. |
| B | 커서 바로 왼쪽의 문자를 삭제한다. 커서가 문자열의 맨 앞이면 아무 일도 일어나지 않는다. |
| P x | 문자 x를 커서 왼쪽에 추가한다. |
초기 문자열과 이후 수행할 명령들이 순서대로 주어진다. 모든 명령을 수행한 뒤 에디터에 남아 있는 문자열을 구하라. 처음 커서는 초기 문자열의 맨 뒤에 있다.
첫째 줄에 초기 문자열이 주어진다. 이 문자열은 영어 소문자로만 이루어져 있으며 길이는 100,000을 넘지 않는다.
둘째 줄에 명령의 개수 M이 주어진다. M은 1 이상 500,000 이하이다.
셋째 줄부터 M개의 줄에 걸쳐 명령이 하나씩 주어진다. 각 명령은 문제에서 설명한 네 가지 형태 중 하나이다.
모든 명령을 수행한 뒤 에디터에 입력되어 있는 문자열을 한 줄에 출력한다.