Algorithm/Baekjoon

[Algorithm/Baekjoon] A์™€ B 2 - 12919 (G5/JAVA)

dpdms2148 2023. 7. 10. 22:29
728x90

๐Ÿ“‘๋ฌธ์ œ๋งํฌ

12919๋ฒˆ: A์™€ B 2

๐Ÿ’ป์ฝ”๋“œ

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

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String S = br.readLine();
        String T = br.readLine();

        System.out.println(makeString(S, T) ? 1 : 0);
    }

    private static boolean makeString(String s, String t) {
        if (s.length() == t.length()) {
            if (s.equals(t)) return true;
            return false;
        }
        if (t.charAt(0) == 'B') {
            String removeB = t.substring(1);// ๋งจ ์ฒซ ๊ธ€์ž์ธ B๋ฅผ ์ œ๊ฑฐ
            StringBuilder sb = new StringBuilder(removeB);
            if (makeString(s, sb.reverse().toString())) {
                return true;
            }
        }
        if (t.charAt(t.length() - 1) == 'A') {
            if (makeString(s, t.substring(0, t.length() - 1))) { // ๋งจ ๋’ท ๊ธ€์ž์ธ A๋ฅผ ์ œ๊ฑฐ
                return true;
            }
        }
        return false;
    }
}

โณํšŒ๊ณ 

  • ์ฒ˜์Œ์—๋Š” S๋ฅผ ๋Š˜์ด๋Š” ๋ฐฉ์‹์œผ๋กœ ํ’€์ด๋ฅผ ํ–ˆ๋Š”๋ฐ ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋‚ฌ๋‹ค.
  • ๊ทธ๋ž˜์„œ T๋ฅผ ์ค„์ด๋Š” ๋ฐฉ์‹์œผ๋กœ ํ’€์ด๋ฅผ ํ–ˆ๋‹ค.
  • ๋ฌธ์ž์—ด์„ ๋’ค์ง‘๊ธฐ์œ„ํ•ด StringBuffer์˜ reverse() ๋ฉ”์„œ๋“œ๋ฅผ ํ™œ์šฉํ–ˆ๋‹ค.
728x90