BOJ
[백준/BOJ] python 1406번 에디터
kyj0015
2023. 8. 10. 23:38
언어: python
번호: 1406
제목:에디터
등급: 실버 2
풀이 과정:
원래는 리스트 하나를 만들어 풀려했지만 시간이 초과되서 스택 2개를 만들어 풀었다. 커서의 위치를 기준으로 왼쪽 리스트(s1)과 오른쪽 리스트(s2)를 만들어 명령에 맞게 pop()함수를 사용했다.
내 코드:
import sys
INPUT = sys.stdin.readline
s1 = list(INPUT())
s2 = []
n = int(INPUT())
for _ in range(n):
command = list(INPUT().split())
if command[0]=='L':
if s1:
s2.append(s1.pop())
elif command[0]=='D':
if s2:
s1.append(s2.pop())
elif command[0]=='B':
if s1:
s1.pop()
else:
s1.append(command[1])
print(''.join(s1), end='')
print(''.join(reversed(s2)))
메모:
리스트의 0번째 요소를 반환하고 출력할때 leftpop()함수를 사용하는 방법도 있다.