본문 바로가기

PS

[BOJ]12904번 : A와 B

https://www.acmicpc.net/problem/12904

 

12904번: A와 B

수빈이는 A와 B로만 이루어진 영어 단어가 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다. 이런 사실에 놀란 수

www.acmicpc.net

 

 

문제 파악

 

문자열 S => T로 바꿀 수 있는지 판단하는 문제이다.

브루트 포스 하게 S => T로 2가지 연산을 적용하면서 바꿔 갈 수 있지만

역으로 T=> S로 찾는 방법으로 문제를 해결하였다.

 

더보기
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));
        StringBuilder sb = new StringBuilder();

        String target = br.readLine();
        sb.append(br.readLine());

        boolean answer = false;

        while(sb.length()>=target.length())
        {
            if(sb.toString().equals(target)){
                answer = true;
                break;
            }

            if(sb.charAt(sb.length()-1) == 'A') {
                sb.deleteCharAt(sb.length()-1);
            } else {
                sb.deleteCharAt(sb.length()-1);
                sb.reverse();
            }
        }
        System.out.println(answer ? 1 : 0);

    }
}