A를 B로 바꾸는 것보다 B를 A로 만들어가는 문제이다.
A를 B로 만들어가려면 2가지 경우에 대해 모두 고려해야하는 반면에 B에서 A로 가는 경우는 끝자리의 문자가 'A'인지 'B'인지에 따라 한가지의 경우만 고려하면 되기 때문이다.
문자열의 길이가 같아질 때까지만 B를 줄여나가다가 길이가 같아졌을 때, A와 B를 비교하여 0 또는 1을 출력한다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
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();
while (s.length() < t.length()) {
StringBuffer sb = new StringBuffer();
if (t.endsWith("A")) {
t = t.substring(0, t.length() - 1);
} else if (t.endsWith("B")) {
t = t.substring(0, t.length() - 1);
t = sb.append(t).reverse().toString();
}
}
if (s.equals(t)) {
System.out.println(1);
} else {
System.out.println(0);
}
}
}