반응형
5397번: 키로거
첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한줄로 이루어져 있고, 강산이가 입력한 순서대로 길이가 L인 문자열이 주어진다. (1 ≤ L의 길이 ≤ 1,000,000) 강산이가 백스페이
www.acmicpc.net
이전에 풀었었던 에디터문제랑 동일한 방식으로 스택을 이용하여 풀었습니다.
1406번: 에디터
첫째 줄에는 초기에 편집기에 입력되어 있는 문자열이 주어진다. 이 문자열은 길이가 N이고, 영어 소문자로만 이루어져 있으며, 길이는 100,000을 넘지 않는다. 둘째 줄에는 입력할 명령어의 개수
www.acmicpc.net
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 |