언젠가는
(파이썬) 백준 1406 - 에디터 python3 본문
import sys
a = list(input())
처음에 문자열을 입력받는 곳 리스트로 받아서 하나씩 이용할 것이다.
b = int(input())
에디터에서 사용하는 코드 갯수
c = []
커서의 방향을 항상 맨 끝을 만들어 주기 위해서 사용할 리스트
for i in range(b):
d = sys.stdin.readline().split()
d에는 에디터의 명령어가 들어온다. split()는 P $에서 $를 집어넣기 위해서 나눠준다.
if d[0]=='L' and a:
c.append(a.pop())
명령어가 L이고, a에 값이 존재하면 커서를 왼쪽으로 옮긴다. 맨 끝의 문자를 리스트 c에 보관한다.
elif d[0]=='D' and c:
a.append(c.pop())
명령어가 D이고, c에 값이 존재한다면 커서를 오른쪽에다 옮기므로, c에 있던 값을 a로 다시 가져온다.
elif d[0]=='B' and a:
a.pop()
명령어가 B이고, a에 값이 존재한다면 맨 끝값을 제거한다.
elif d[0]=='P':
a.append(d[1])
명령어가 P이면 P다음에 온 값을 a에 집어넣는다. 이때 a에는 아무 값도 없어도 된다.
print(''.join(a+list(reversed(c))))
문자열 조인을 한다. c에 보관중인 친구들은 역순으로 붙여야 한다.
'IT > 코딩' 카테고리의 다른 글
(파이썬) 백준 11655번 ROT13 파이썬 풀이, Python3 (0) | 2022.08.10 |
---|---|
(파이썬) 백준 10799번 쇠막대기 파이썬 python3 (0) | 2022.08.07 |
(파이썬) 백준 1158 - 요세푸스 문제 python3 (0) | 2022.08.05 |
(파이썬) 백준 9012번 - 괄호() (0) | 2022.08.03 |
(파이썬) Python3 백준 1874번 - 스택 수열 (0) | 2022.08.03 |
Comments