Skip to content

Commit

Permalink
B_1406
Browse files Browse the repository at this point in the history
  • Loading branch information
likppi10 committed Oct 21, 2021
1 parent 98eacdd commit 59fbded
Showing 1 changed file with 44 additions and 0 deletions.
44 changes: 44 additions & 0 deletions Algorithm_Baek/Basic/B_200/B_1406_에디터.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
package B_200_자료구조1;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Stack;
import java.util.StringTokenizer;

public class B_1406_에디터 {

public static void main(String args[]) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = null;
StringBuilder sb = new StringBuilder();

String L = br.readLine();
char[] la = L.toCharArray();

int C = Integer.parseInt(br.readLine());
Stack<Character> stack = new Stack<>();
Stack<Character> res = new Stack<>();

for(int i=0; i<la.length; i++) stack.add(la[i]);


for(int i=0; i<C; i++) {
st = new StringTokenizer(br.readLine(), " ");
String order = st.nextToken();
if(order.equals("P")) stack.add(st.nextToken().toCharArray()[0]);
else if(order.equals("B")) {
if(!stack.isEmpty()) stack.pop();
}else if(order.equals("D")) {
if(!res.isEmpty()) stack.add(res.pop());
}else {
if(!stack.isEmpty()) res.add(stack.pop());
}
}

while(!stack.isEmpty()) res.add(stack.pop());
while(!res.isEmpty()) sb.append(res.pop());
System.out.println(sb);
}

}

0 comments on commit 59fbded

Please sign in to comment.