입력받은 문자열을 한글자씩 stack에 넣으며 stack에 쌓인 문자열의 길이가 폭발 문자열보다 크거나 같으면 폭발문자열을 찾아 없애는 방법으로 풀었다.
public class Main {
// stack 사용
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String origin = br.readLine();
String remove = br.readLine();
Stack<Character> stack = new Stack<Character>();
for (int i = 0; i < origin.length(); i++) {
stack.push(origin.charAt(i));
if (stack.size() >= remove.length()) {
boolean flag = true;
for (int j = 0; j < remove.length(); j++) {
if (stack.get(stack.size() - remove.length() + j) != remove.charAt(j)) {
flag = false;
break;
}
}
if (flag) {
for (int j = 0; j < remove.length(); j++) {
stack.pop();
}
}
}
}
StringBuilder sb = new StringBuilder();
for(char ch : stack) {
sb.append(ch);
}
System.out.println(sb.length() > 0 ? sb.toString() : "FRULA");
}
}
와앙 완전 똑똑하셔요! 완전 깔끔하게 이해했습니다 ㅎㅎ