반응형
이전에 풀었었던 에디터문제랑 동일한 방식으로 스택을 이용하여 풀었습니다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Stack;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
int T = Integer.parseInt(bf.readLine());
for (int i = 0; i<T; i++){
Stack<String> left = new Stack<>();
Stack<String> right = new Stack<>();
String[] input = bf.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);
}
}
StringBuilder sb = new StringBuilder();
left.forEach(item->sb.append(item));
while (!right.isEmpty()) sb.append(right.pop());
System.out.println(sb);
}
}
}
반응형
'Algorithm' 카테고리의 다른 글
백준 2493번 탑 [ Java ] (0) | 2020.12.26 |
---|---|
백준 1158번 요세푸스 문제 [ Java ] (0) | 2020.12.25 |
백준 1406번 에디터 [ Java ] (0) | 2020.12.25 |
백준 1919번 애너그램 만들기 [ Java ] (0) | 2020.12.25 |
백준 13300번 방 배정 [ Java ] (0) | 2020.12.25 |