https://www.acmicpc.net/problem/12904
s=list(input())
end=list(input())
while len(s)!=len(end):
if end[-1]=='A':
end.pop()
elif end[-1]=='B':
end.pop()
end=end[::-1]
if s==end:
print(1)
else:
print(0)
처음에는 큐를 이용해서 s에서 end로 만들어가는 방향으로 진행했다. 그러다보니 메모리가 초과나버렸다.. 즉 입력받은 메모리 이상으로는 허용하지 않는다.
end에서 s로 반대로 가는 방향으로 생각해보았다. 반대로 진행하여서 길이가 같아지면 비교하면된다.
무언가를 만들어 가는것에서는 밑에서부터 가는방법도 있지만 반대로도 있다.