문제
풀이
- 문자열의 한 문자씩 스택에 삽입
- 삽입할 때 마다, 스택의 마지막 문자열이 폭발 문자인지 검사 및 처리
- 스택에서 특정 길이의 문자열 추출을 쉽게 하기 위해, 배열 및 인덱스로 스택 구현
코드
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);
}
}
결과
'알고리즘' 카테고리의 다른 글
[Java] 백준 1238. 파티 (0) | 2024.10.10 |
---|---|
[Java] 백준 11404. 플로이드 (0) | 2024.10.09 |
[백준/Java] 1967. 트리의 지름 (0) | 2024.10.07 |
[백준/Java] 24511. queuestack (0) | 2024.10.04 |
[백준, Java] 28702. FizzBuzz (0) | 2024.09.20 |