[백준] 12904 A와B
반대로 T에서 S가 만들어질 수 있는지 보면 된다.
끝자리가 A인가 ? A제거
끝자리가 B인가 ? B제거 후 역순
자세한 풀이는 주석으로~!
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
class Main{
static int ip(String s){ return Integer.parseInt(s); };
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String S = br.readLine();
StringBuilder T = new StringBuilder(br.readLine()); // 이것저것 많이 편집할 예정이라 스트링빌더로 받았다
int slen = S.length();
int tlen = T.length();
while(tlen > slen) { // t의 길이가 s의 길이와 같아질때까지 반복해준다.
if(T.charAt(tlen-1) == 'A') { // 만약 끝자리가 A라면
T.deleteCharAt(tlen-- -1); // A 제거
}else { // B라면
T.deleteCharAt(tlen-- -1); // B 제거 후
T.reverse(); // 역순으로 뒤집기
}
}
// 둘의 길이가 드디어 같아졌다. 두 문자열이 같은지 확인하자.
if(S.equals(T.toString())) {
System.out.println(1);
}else {
System.out.println(0);
}
}
}
Comments