본문 바로가기
코딩 문제 풀이/백준

[백준] 자바 문제 풀이 9935 : 골드4

by 코딩하는 랄로 2023. 9. 22.
728x90

BOJ 9935 : Stack & Deque

import java.io.*;
import java.util.*;

public class Main {

    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader((System.in)));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        String str = br.readLine();
        String bomb = br.readLine();

        char b = bomb.charAt(bomb.length() - 1);
        Deque<String> dq = new LinkedList<>();
        Stack<String> stack = new Stack<>();

        for (int i = 0; i < str.length(); i++) {
            dq.add(String.valueOf(str.charAt(i)));
            if (str.charAt(i) == b && dq.size() >= bomb.length()) {
                for (int j = 1; j <= bomb.length(); j++) {
                    stack.add(dq.pollLast());

                    if (!stack.peek().equals(String.valueOf(bomb.charAt(bomb.length() - j)))) {
                        while (!stack.isEmpty()) {
                            dq.add(stack.pop());
                        }
                        break;
                    }
                }
                stack.clear();
            }
        }
        if (dq.isEmpty()) {
            bw.write("FRULA");
        } else {
            while (!dq.isEmpty()) {
                bw.write(dq.removeFirst());
            }
            bw.write("\n");
        }
        bw.flush();
        br.close();
        bw.close();
    }
}
728x90