문제출저 :
https://www.acmicpc.net/problem/9935
9935번: 문자열 폭발
첫째 줄에 문자열이 주어진다. 문자열의 길이는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 둘째 줄에 폭발 문자열이 주어진다. 길이는 1보다 크거나 같고, 36보다 작거나 같다. 두 문자열은 모
www.acmicpc.net
소스코드 :
package studyGroup.may.may5;
import java.util.*;
import java.io.*;
public class 문자열폭발9935 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s = br.readLine();
String bomb = br.readLine();
Stack<Character> store = new Stack<>();
char trigger = bomb.charAt(bomb.length()-1);
for(int i = 0; i < s.length(); i++)
{
char one = s.charAt(i);
store.add(one);
if(store.size() >= bomb.length() && one == trigger)
{
Stack<Character> temp = new Stack<>();
for(int j = bomb.length()-1; j >= 0; j--)
{
char check = store.pop();
temp.add(check);
if(check != bomb.charAt(j))
{
while(!temp.isEmpty()) {
store.add(temp.pop());
}
break;
}
}
}
}
StringBuilder sb = new StringBuilder();
for(Character c : store)
{
sb.append(c);
}
System.out.println(sb.length()==0 ? "FRULA" : sb.toString());
}
}