정방향이 아닌 역방향으로 생각하면 쉽다.
글자를 조합해서 하나의 단어로 만드는 것 대신 단어에서 한 글자씩 빼는 방식이 더 쉽고, 메모리 효율도 좋음.
#include <algorithm>
#include <iostream>
#include <string>
using namespace std;
int main(int argc, char const *argv[]) {
ios_base ::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
string S, T;
cin >> S >> T;
while (1) {
if (S.length() == T.length()) {
if (S == T)
cout << 1;
else
cout << 0;
return 0;
}
//문자열 T에서 한글자씩 뺀다
char tmp = T.back();
T.pop_back();
if (tmp == 'B')
reverse(T.begin(), T.end());
}
return 0;
}
'알고리즘 > 백준' 카테고리의 다른 글
백준 2309번 일곱난쟁이 (0) | 2020.10.11 |
---|