https://www.acmicpc.net/problem/5397
문제
창영이는 컴퓨터에 키 입력을 하면 입력한 키를 바탕으로 비밀번호를 알아 내고 싶어한다.
풀이
소스코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Stack;
class Baekjoon_5397 {
public static void main(String[] args) throws IOException {
// BufferedREader 를 통해 입력 값 얻기
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int T = Integer.parseInt(br.readLine());
String[] input;
// Test케이스의 갯수를 입력받는 코드
// String 배열의 input 생성
for(int i=0;i<T;i++) {
Stack<String> left = new Stack<>();
Stack<String> right = new Stack<>();
input = br.readLine().split("");
for (String str : input) {
switch (str) {
case "<":
if(!left.isEmpty()){
right.push(left.pop());
}
break;
case ">":
if (!right.isEmpty()) {
left.push(right.pop());
}
break;
case "-":
if (!left.isEmpty()) {
left.pop();
}
break;
default:
left.push(str);
}
}
while (!left.isEmpty()) {
right.push(left.pop());
}
while (!right.isEmpty()) {
sb.append(right.pop());
}
sb.append("\n");
}
System.out.println(sb.toString());
}
}