[백준] 12904 - A와 B | Java

짱챌·2025년 4월 11일

Algorithm

목록 보기
2/19

📌 문제 정보

[12906번: A와 B]


💡 접근 방식

처음 문제를 보고 T의 끝 문자만 보면 되겠다 생각했다.
A이면 그냥 제거하면 되고, B이면 제거 후 역전하면 된다.
그래서 제거가 편하도록 Stack을 사용하면 되나? 싶었지만, 스택을 뒤집을 마땅한 방법이 떠오르지 않았다.
Stack이 아니라 StringBuilder를 사용하면 reverse()로 쉽게 뒤집을 수 있었다.


✅ 코드

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;

public class Main {

    public static void main(String[] args) throws NumberFormatException, IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        String s = br.readLine();
        String t = br.readLine();

        int sLen = s.length();
        int tLen = t.length();



        while (true) {
            if (t.equals(s)) {
                System.out.println(1);
                System.exit(0);
            }

            tLen = t.length();

            if (tLen <= sLen) {
                System.out.println(0);
                System.exit(0);
            }

            char pop = t.charAt(tLen - 1);
            if (pop == 'B') {
                t = t.substring(0, tLen - 1);
                t = new StringBuilder(t).reverse().toString();
            } else {
                t = t.substring(0, tLen - 1);
            }
        }

    }

}


🧾 결과

profile
애옹: Magic Cat Academy

0개의 댓글