🔗 https://www.acmicpc.net/problem/5397
- 입력 예시
2
<<BP<A>>Cd-
ThIsIsS3Cr3t
- 출력 예시
BAPC
ThIsIsS3Cr3t
import java.io.*;
import java.util.Stack;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int num = Integer.parseInt(br.readLine());
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringBuilder answer = new StringBuilder();
for(int i = 0; i < num; i++) {
String strText = br.readLine();
Stack<Character> lStack = new Stack<>();
Stack<Character> rStack = new Stack<>();
for(int j = 0; j < strText.length(); j++) {
char cKey = strText.charAt(j);
if(cKey == '<') {
if(!lStack.empty()) rStack.push(lStack.pop());
} else if (cKey == '>') {
if(!rStack.empty()) lStack.push(rStack.pop());
} else if (cKey == '-') {
if(!lStack.empty()) lStack.pop();
} else {
lStack.push(cKey);
}
}
if(!rStack.empty()) {
while(!rStack.empty()) {
lStack.push(rStack.pop());
}
}
for(int k = 0; k < lStack.size(); k++) {
answer.append(lStack.elementAt(k));
}
answer.append("\n");
}
bw.write(String.valueOf(answer));
bw.flush();
bw.close();
}
}