Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 코로나19
- 맥북
- 프로그래머스
- Kaggle
- ubuntu
- 백준
- Docker
- gs25
- AI 경진대회
- SW Expert Academy
- 프로그래머스 파이썬
- 더현대서울 맛집
- leetcode
- 편스토랑
- 자연어처리
- dacon
- 파이썬
- github
- Real or Not? NLP with Disaster Tweets
- programmers
- ChatGPT
- Baekjoon
- 편스토랑 우승상품
- hackerrank
- Git
- 캐치카페
- 우분투
- 데이콘
- 금융문자분석경진대회
- PYTHON
Archives
- Today
- Total
솜씨좋은장씨
[BaekJoon] 1406번 : 에디터 (Python) 본문
728x90
반응형
1일 1문제 92일차!
오늘의 문제는 백준의 에디터 입니다.
Solution
import sys
from collections import deque
class Editor:
def __init__(self, input_text):
self.left_deque = deque(input_text)
self.right_deque = deque()
def move_cursor_left(self):
if self.left_deque:
self.right_deque.appendleft(self.left_deque.pop())
def move_cursor_right(self):
if self.right_deque:
self.left_deque.append(self.right_deque.popleft())
def delete_left_character(self):
if self.left_deque:
self.left_deque.pop()
def add_character_to_left(self, character2add):
self.left_deque.append(character2add)
editor = Editor(sys.stdin.readline().strip())
N = int(sys.stdin.readline().strip())
while N:
command = sys.stdin.readline().strip()
if command[0] == 'L':
editor.move_cursor_left()
elif command[0] == 'D':
editor.move_cursor_right()
elif command[0] == 'B':
editor.delete_left_character()
else:
editor.add_character_to_left(command[2])
N -= 1
print(''.join(editor.left_deque) + ''.join(editor.right_deque))
'Programming > 코딩 1일 1문제' 카테고리의 다른 글
[BaekJoon] 11053번 : 가장 긴 증가하는 부분수열 (Python) (0) | 2020.05.10 |
---|---|
[BaekJoon] 11655번 : ROT13 (Python) (0) | 2020.05.09 |
[BaekJoon] 9012번 : 괄호 (Python) (0) | 2020.05.08 |
[BaekJoon] 9613번 : GCD 합 (Python) (0) | 2020.05.06 |
[BaekJoon] 10824번 : 네 수 (Python) (0) | 2020.05.05 |
Comments