코딩 테스트/Baekjoon

S2 1406. 에디터

  • -
728x90
반응형

문제 보기 :  1406번: 에디터


문제

  • 정답률 : 26%


작성 코드

from collections import deque
import sys
input = sys.stdin.readline

left = deque(list(input().rstrip()))
right = deque()
k = int(input().strip())

for _ in range(k):
    word = input().strip()
    if word == 'L':
        if left:
            right.appendleft(left.pop())
    elif word == 'D':
        if right:
            left.append(right.popleft())
    elif word == 'B':
        if left:
            left.pop()
    else:
        word, w = word.split()
        left.append(w)

    # print(word, list(left), list(right))

strr = ''.join(left) + ''.join(right)
print(strr)

풀이

커서가 left deque와 right deque 사이의 경계라고 생각하면 된다. 경계를 정하는 것만 어려웠지 나머지는 뭐..

if left: 와 if right: 이거만 잘 찾아낸다면 문제 없을 것 같다.

(사실 나도 처음에는 커서 index를 두고 구현했는데, 계에속 시간 초과가 났다는..)

320x100
728x90

'코딩 테스트 > Baekjoon' 카테고리의 다른 글

S4 11047. 동전 0  (0) 2024.11.29
S4 10828. 스택  (0) 2024.11.29
S4 2217. 로프  (0) 2024.11.27
S4 1065. 한수  (1) 2024.11.27
G5 7569. 토마토  (0) 2024.11.27
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.