====== 키로거 ====== ===== 풀이 ===== * 처음 주어진 문자열이 있는 상태에서 시작하느냐 빈 문자열에서 시작하느냐의 차이만 있을뿐, [[ps:problems:boj:1406]]과 거의 동일한 문제. 풀이는 그쪽을 참고. ===== 코드 ===== """Solution code for "BOJ 5397. 키로거". - Problem link: https://www.acmicpc.net/problem/5397 - Solution link: http://www.teferi.net/ps/problems/boj/5397 """ import sys def main(): test_case_count = int(sys.stdin.readline()) for _ in range(test_case_count): log = sys.stdin.readline().rstrip() l_stack, r_stack = [], [] for c in log: match c: case '<': if l_stack: r_stack.append(l_stack.pop()) case '>': if r_stack: l_stack.append(r_stack.pop()) case '-': if l_stack: l_stack.pop() case _: l_stack.append(c) print(''.join(l_stack + r_stack[::-1])) if __name__ == '__main__': main() {{tag>BOJ ps:problems:boj:실버_2}}