[アルゴリズム/標準]1406:エディタ(python)
最初はカーソルの位置を数字にして、変更を続けます.その結果、時間を超えることが判明しました...悩んだ末に2つのスタックで実現すればいいと思ったので試してみました2つのスタックを用意して、真ん中にカーソルがあると思います.カーソルを左に移動し、左側のスタックでポップアップし、右側のスタックに追加...こうすれば解けます!!最後に合わせて右側のスタックをひっくり返します.
from sys import stdin
stack1 = list(map(str, stdin.readline().strip()))
stack2 = []
for _ in range(int(stdin.readline().strip())):
a = list(stdin.readline().strip().split())
if a[0] == 'L':
if stack1:
stack2.append(stack1.pop())
elif a[0] == 'D':
if stack2:
stack1.append(stack2.pop())
elif a[0] == 'B':
if stack1:
stack1.pop()
else:
stack1.append(a[1])
stack1.extend(reversed(stack2))
print(''.join(stack1))
Reference
この問題について([アルゴリズム/標準]1406:エディタ(python)), 我々は、より多くの情報をここで見つけました https://velog.io/@y7y1h13/알고리즘백준-1406-에디터pythonテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol