[BaekJoon, Python] 1406_에디터
1406_에디터
-
Code
from sys import stdin stack_right = [] first_sentence = stdin.readline().strip() stack_left = list(first_sentence) command_num = int(stdin.readline()) for i in range(command_num): command = stdin.readline().strip().split() str = "" if command[0] == 'P': str = command[1] stack_left.append(str) elif command[0] == 'L' and len(stack_left) != 0: stack_right.append(stack_left.pop()) elif command[0] == 'D' and len(stack_right) != 0: stack_left.append(stack_right.pop()) elif command[0] == 'B' and len(stack_left) != 0: stack_left.pop() print(''.join(stack_left),end='') print(''.join(stack_right[::-1]),end='')
-
KeyPoint
-
input() 대신 sys.stdin.readline() 사용.
-
stack 2개를 사용해서 마우스 커서를 기준으로 왼쪽 스택, 오른쪽 스택을 사용. 오른쪽 스택은 반대로 기울여놓고 사용한다고 생각.
-
-
기억할 점
-
input() 보다는 sys.stdin.readline()이 더 빠르다.
-
빈 리스트에 append를 사용해서 추가하는 것 보다는, 리스트를 사용할만큼 미리 초기화해두고 값을 대입하는게 더 빠르다.
-
댓글남기기