Skip to content

Instantly share code, notes, and snippets.

@moosongsong
Created June 10, 2022 15:13
Show Gist options
  • Save moosongsong/60530f16ba48d73e899f23de6c37b49d to your computer and use it in GitHub Desktop.
Save moosongsong/60530f16ba48d73e899f23de6c37b49d to your computer and use it in GitHub Desktop.
백준 5397
package silver_2;
import java.io.*;
import java.util.*;
public class NUM_5397 {
public static void main(String[] args) throws IOException {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(System.out));
int count = Integer.parseInt(bufferedReader.readLine());
for (int i = 0; i < count; i++) {
char[] array = bufferedReader.readLine().toCharArray();
String result = getPassword(array);
bufferedWriter.write(result + '\n');
}
bufferedWriter.flush();
bufferedReader.close();
bufferedWriter.close();
}
public static String getPassword(char[] list) {
Stack<Character> left = new Stack<>();
Stack<Character> right = new Stack<>();
for (char c : list) {
switch (c) {
case '<':
if (!left.empty()) right.push(left.pop());
break;
case '>':
if (!right.empty()) left.push(right.pop());
break;
case '-':
if (!left.empty()) left.pop();
break;
default:
left.push(c);
}
}
while (!left.empty()) right.push(left.pop());
StringBuilder stringBuilder = new StringBuilder();
while (!right.empty()) stringBuilder.append(right.pop());
return stringBuilder.toString();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment