[알고리즘 문제풀이] 키로거

황인권·2023년 3월 5일
0

알고리즘 문제풀이

목록 보기
5/81

문제 제목 : 키로거

문제 난이도 : 중

문제 유형 : 스택, 구현, 그리디

https://www.acmicpc.net/problem/5397
시간 제한 : 1초
메모리 제한 : 256MB

문제풀이 아이디어

< 소스코드 >

test_case = int(input())

for _ in range(test_case):
    left_stack = []
    right_stack = []
    data = input()
    for i in data:
        if i == '-': # 백스체이스
            if left_stack:
                left_stack.pop()
        elif i == '<': # 왼쪽 화살표
            if left_stack:
                right_stack.append(left_stack.pop())
        elif i == '>': # 오른쪽 화살표
            if right_stack:
                left_stack.append(right_stack.pop())
        else:
            left_stack.append(i)
    left_stack.extend(reversed(right_stack)) # left_stack에 right_stack을 뒤집어서 끝에다가 모든 항목 넣기
    print(''.join(left_stack))
profile
inkwon Hwang

0개의 댓글