[백준] 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);
         }
     }
}

Tags:

Categories:

Updated:

Comments