[백준] 12904 – A와 B

쉬운 목차

문제

#12904: A와 B(acmicpc.net)

#12904: A와 B

수빈은 A와 B로만 이루어진 영어 단어가 있다는 사실에 놀랐다. AB(Abdominal), BAA(Crying Sheep), AA(Art Lava), ABBA(Swedish pop group) 등이 대표적이다. 당신은 이 사실에 놀랄 것이다.

www.acmicpc.net

설명

코드는 간단하지만 솔루션 프로세스를 도출하는 것은 어려운 문제입니다.

S to T를 만드는 과정이 S to T를 만드는 과정보다 간단하다는 것을 깨달으면 쉽게 풀 수 있습니다.

첫 번째 조건문은 TA의 끝이 있으면 빼는 부분입니다.

과제에서 제안한 ‘문자열 끝에 A 추가’. 운영에 해당합니다.

두 번째 조건문은 끝이 TB이면 제거하고 배열을 뒤집습니다.

현을 뒤집고 끝에 B 플랫을 추가합니다.’ 운영에 해당합니다.

#include <iostream>
#include <algorithm>
using namespace std;

int main() {
    string S;
	cin >> S;
	
	string T;
	cin >> T;

    int result = 0;
	while (1) {
	    if (S.size() == T.size()) {
		    if (S == T) result = 1;
		    break;
	    }
		
		if (T(T.size()-1) == 'A') {
		    T.pop_back();
		}
		else if (T(T.size()-1) == 'B') {
			T.pop_back();
			reverse(T.begin(), T.end());
		}
	}
	
	cout << result;
}