문제
풀이
- 문자열의 한 문자씩 스택에 삽입
- 삽입할 때 마다, 스택의 마지막 문자열이 폭발 문자인지 검사 및 처리
- 스택에서 특정 길이의 문자열 추출을 쉽게 하기 위해, 배열 및 인덱스로 스택 구현
코드
class Main {
public static void main (String[] args) throws java.lang.Exception {
// input
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s = br.readLine();
String bumb = br.readLine();
int bumbLen = bumb.length();
// solve
char[] stack = new char[s.length()];
int idx = 0;
for (char ch : s.toCharArray()){
stack[idx] = ch;
// check bumb
while(idx+1 >= bumbLen && String.valueOf(Arrays.copyOfRange(stack, idx+1-bumbLen, idx+1)).equals(bumb)){
idx -= bumbLen;
}
idx++;
}
String res = String.valueOf(Arrays.copyOfRange(stack, 0, idx));
if (res.equals("")) System.out.println("FRULA");
else System.out.println(res);
}
}
결과