jihyeon's Blog

2023-11-12

키로거


https://www.acmicpc.net/problem/5397

키 해킹

내가 쓴 답변

# 1. 커서를 중심으로 양 옆에 스택을 배치 # 2. <를 입력하면 왼쪽의 스택에서 오른쪽 스택으로 이동 # 3. >는 그 반대 # 4. -는 왼쪽의 스택에서 하나 제거 # 5. 합칠 때 오른쪽의 스택은 뒤집어야 함 test_case = int(input()) for _ in range(test_case): data = input() left_stack = [] right_stack = [] for i in data: if i == "<" and left_stack: right_stack.append(left_stack.pop()) elif i == ">" and right_stack: left_stack.append(right_stack.pop()) elif i == "-" and left_stack: left_stack.pop() elif i not in ["<", ">", "-"]: left_stack.append(i) print(''.join(left_stack + list(reversed(right_stack))))

다른 답변

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)) print(''.join(left_stack))

Copyright (c) 2023. jihyeon Choi. | All Right Reserved.