거북이개발자

[백준 5937] 키로거 본문

Algorithm(Python)

[백준 5937] 키로거

류정식 2021. 1. 15. 17:01

0. 제목

  • 백준 5937 키로거

1. 문제

 

 

www.acmicpc.net/problem/5397

 

5397번: 키로거

첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한줄로 이루어져 있고, 강산이가 입력한 순서대로 길이가 L인 문자열이 주어진다. (1 ≤ L의 길이 ≤ 1,000,000) 강산이가 백스페이

www.acmicpc.net


2. 풀이

  • 스태을 2개 이용한다.
  • 스택1 커서 스택2 이런식으로 배치후 커서 움직임에 따라 스택에 문자를 이동시켜준다.

3. 코드

test_case=int(input())

for j in range(test_case):
    l_stack=[]
    r_stack=[]
    data=input()
    for i in data:
        if i=='-':
            if l_stack:
                l_stack.pop()
        elif i=='<':
            if l_stack:
                r_stack.append(l_stack.pop())
        elif i=='>':
            if r_stack:
                l_stack.append(r_stack.pop())
        else:
            l_stack.append(i)
    l_stack.extend(reversed(r_stack))
    print(''.join(l_stack))

 

'Algorithm(Python)' 카테고리의 다른 글

[백준 2750] 수 정렬하기  (0) 2021.01.18
Comments