코드
#include <iostream>
#include <string>
#include <algorithm> // reverse
using namespace std;
// int* : 포인터, string& : 레퍼런스
int AB(const string _s, string& _t, int* _result) {
while (true) {
if (_s.size() == _t.size()) {
if (_s == _t) { // 문자가 하나씩 남았을 때 같을 경우는 S를 T로 만들 수 있다.
*_result = 1;
}
break;
}
if (_t[_t.size() - 1] == 'A') { // 문자열의 뒤에 A를 추가한다. -> 반대로 진행 맨 뒤 문자가 A일 경우 빼주기
_t.pop_back();
}
else { // 문자열을 뒤집고 뒤에 B를 추가한다. -> 반대로 진행
_t.pop_back();
reverse(_t.begin(), _t.end());
}
}
return *_result;
}
int main()
{
cin.tie(0); // 코드를 작성하면 입출력 속도가 빨라진다. -> C와 C++ 표준 stream의 동기화를 비활성화
cout.tie(0); // C++의 입출력인 cin, cout만 사용하도록 주의해야합니다.
string s, t;
int result=0;
cin >> s >> t;
cout<<AB(s, t, &result);
}
'C++ > 백준 C++' 카테고리의 다른 글
[C/C++] 백준 30957번 빅데이터 vs 정보보호 vs 인공지능 (2) | 2023.12.19 |
---|---|
[C/C++] 백준 30979번 유치원생 파댕이 돌보기 (0) | 2023.12.18 |
[C/C++] 백준 4134번 다음 소수 - 참고 (0) | 2023.12.16 |
[C/C++] 백준 1312번 소수 (0) | 2023.12.16 |
[C/C++] 백준 11758번 CCW (0) | 2023.12.15 |