순간을 성실히, 화려함보단 꾸준함을

[boj : 12904] A와 B 본문

알고리즘,SQL/백준,BOJ

[boj : 12904] A와 B

폭발토끼 2020. 12. 23. 15:11

www.acmicpc.net/problem/12904

 

12904번: A와 B

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

www.acmicpc.net

문제 : 문자열뒤에 'A'를 추가하거나, 뒤집고 'B'를 추가하거나 해서 주어진 문자열을 만들어라

 

해설 : 거꾸로 생각해 보자. S를 T로 만든다고 생각하는게 아닌 T를 S로 만든다고 생각하자.

왜 이렇게 생각을 해보는 걸까?

결국 결과물은 T이기 때문이다. T를 S로 만들기 위해 'A' 나 'B'를 제거하면서 S가 나온다면 만들 수 있는 것이고, 만약 T의 문자열이 0이 될때까지 나오지 않는다면 이는 만들지 못한다는 뜻이기 때문

 

#include<bits/stdc++.h>

using namespace std;

int main()
{
	int ans = 0;
	string x, y;
	cin >> x >> y;

	while (y.length() > 0) {
		int len = y.length();

		if (y[len - 1] == 'A')
			y.pop_back();
		else {
			y.pop_back();
			reverse(y.begin(), y.end());
		}
		if (x == y) {
			ans = 1;
			break;
		}
	}
	cout << ans;
	return 0;
}

'알고리즘,SQL > 백준,BOJ' 카테고리의 다른 글

[boj : 15886] 내 선물을 받아줘2  (0) 2020.12.24
[boj : 11565] 바이너리 게임  (0) 2020.12.23
[boj : 13273] 로마숫자  (0) 2020.12.23
[boj : 4803] 트리  (0) 2020.12.22
[boj : 1833] 고속철도 설계하기  (0) 2020.12.22