본문 바로가기
개발/알고리즘

[백준] #5397 키로거

by 김개발 2020. 10. 27.

www.acmicpc.net/problem/5397

 

5397번: 키로거

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

www.acmicpc.net

total = int(input())

for _ in range(total):
    test_case = str(input())
    left = list()
    right = list()

    for char in test_case:
        if char == '>':
            if len(right) == 0:
                continue
            left.append(right.pop())
        elif char == '<':
            if len(left) == 0:
                continue
            right.append(left.pop())
        elif char == '-':
            if len(left) == 0:
                continue
            left.pop()
        else:
            left.append(char)

    while True:
        if len(right)==0:
            break
        left.append(right.pop(0))

    print(''.join(left))

* 타임 초과 에러 발생

total = int(input())

for _ in range(total):
    test_case = str(input())
    left = list()
    right = list()

    for char in test_case:
        if char == '>':
            if len(right) == 0:
                continue
            left.append(right.pop())
        elif char == '<':
            if len(left) == 0:
                continue
            right.append(left.pop())
        elif char == '-':
            if len(left) == 0:
                continue
            left.pop()
        else:
            left.append(char)

    left.extend(reversed(right))

    print(''.join(left))

* while 문 변경 후 통과

'개발 > 알고리즘' 카테고리의 다른 글

[백준] # 4195 친구 네트워크  (0) 2020.10.28
[백준] #10930 SHA-256  (0) 2020.10.27
[백준] #1966 프린터 큐  (0) 2020.10.27
[백준] #1874 스택 수열  (0) 2020.10.26
[백준] #2798 블랙잭  (0) 2020.10.24

댓글