-
문제
5397번: 키로거
첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한줄로 이루어져 있고, 강산이가 입력한 순서대로 길이가 L인 문자열이 주어진다. (1 ≤ L ≤ 1,000,000) 강산이가 백스페이스를 입
www.acmicpc.net
전체 코드
from sys import stdin from collections import deque t = int(stdin.readline().rstrip()) ## 문자열 slicing 사용했을 때 시간 초과 ## deque 사용해서 해결 for _ in range(t): pw_left, pw_right = deque([]), deque([]) key_log = stdin.readline().rstrip() for key in key_log: if key == "<": if pw_left: pw_right.appendleft(pw_left.pop()) elif key == ">": if pw_right: pw_left.append(pw_right.popleft()) elif key == "-": if pw_left: pw_left.pop() else: pw_left.append(key) pw = pw_left + pw_right print(''.join(pw))'Algorithm > Python' 카테고리의 다른 글
[BOJ] 백준 2217 로프 (Python) + enumerate (1) 2023.08.22 [BOJ] 백준 2457 공주님의 정원 (Python) (1) 2023.08.22 [BOJ] 백준 1520 내리막 길 (Python) (0) 2023.08.21 [BOJ] 백준 1475 방 번호 (Python) (3) 2023.08.20 [BOJ] 백준 3273 두 수의 합 (Python) (2) 2023.08.19