반응형
import sys
from collections import deque
front = deque(input())
m = int(input())
end = deque()
for _ in range(m):
cmd = sys.stdin.readline().strip()
if cmd == "L":
if len(front) > 0:
end.appendleft(front.pop())
elif cmd == "D":
if len(end) > 0:
front.append(end.popleft())
elif cmd == "B":
if len(front) > 0:
front.pop()
else:
cmdList = list(cmd.split())
front.append(cmdList[1])
print(''.join(front) + ''.join(end))
deque의 appendleft(), popleft() 시간복잡도는 O(1)
list는 insert, del, remove (특정 인덱스) 사용 시 O(n)
커서를 기준으로 스택 두 개를 만들어 deque를 활용하면 된다
이런 생각은 대체 어떻게 하는거지 ?!
반응형
'취준 > 코딩테스트' 카테고리의 다른 글
백준 1292 (python): 쉽게 푸는 문제 (0) | 2024.04.11 |
---|---|
백준 2581 (python): 소수 (0) | 2024.04.11 |
백준 3273 (python): 두 수의 합 (0) | 2024.04.10 |
백준 10808 (python): 알파벳 개수 (0) | 2024.04.10 |
프로그래머스 (python): 정수 내림차순으로 배치하기 (0) | 2024.04.10 |