페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#3689

editor 1s 256MB

문제

일련의 문자열이 주어진다.

 

문자열 내부에는 커서가 위치하고 있다.

주어지는 명령에 따라 다음과 같을 작업을 처리해야 한다.

 

L 커서를 한 문자 왼쪽으로 이동한다. (커서가 시작 부분에 있으면 아무 것도 수행하지 않음)

D 커서를 한 문자 오른쪽으로 이동한다. (커서가 끝에 있으면 아무 것도 수행하지 않음)

B 커서 왼쪽의 문자를 삭제한다. (커서가 시작 부분에 있으면 아무 것도 수행하지 않음)

P $ 커서의 위치에 문자 $ 추가한다. (문자 $는 영어 알파벳의 소문자 임)

 

커서의 처음 위치는 초기에 주어진 문자열의 끝에 있다.

주어진 작업을 실행 한 후 텍스트가 어떻게 보일지 결정하는 프로그램을 작성하시오.​ 


입력

첫번째 행에는 초기 문자열이 주어진다. 

초기 문자열은 길이가 N (1 <= N <= 100,000)이고, 영어 소문자로만 이루어져 있다. 

두번째 행에는 명령의 개수를 나타내는 정수 M(1 ≤ M ≤ 500,000)이 주어진다. 

세번째 행부터 M개의 행에 명령이 주어진다. 


출력

첫 번째 행에 모든 작업을 실행 한 후 문자열을 출력한다. 


예제 #1

abcd

3
P x
L
P y
abcdyx

예제 #2

abc

9
L
L
L
L
L
P x
L
B
P y
yxabc

예제 #3

dmih

11
B
B
P x
L
B
B
B
P y
D
D
P z
yxz

출처

Croatian Highschool Competitions in Informatics 2004 National Competition #1 - Juniors 2번
로그인해야 코드를 작성할 수 있어요.