문제 링크: https://www.acmicpc.net/problem/1406
백준 알고리즘 기초 1/2 200에서 5번째 - 1406번 에디터를 풀어보았다.
풀이: 명령어를 받아 수행하는 에디터를 구현하는 문제이다.
파이썬은 커서와 문자열을 구현해서 풀었더니만 시간초과가 나서, https://velog.io/@tkdduf727/%EB%B0%B1%EC%A4%80-%EA%B4%84%ED%98%B8-1406%EB%B2%88-%ED%8C%8C%EC%9D%B4%EC%8D%AC-Python-%EC%9E%90%EB%A3%8C%EA%B5%AC%EC%A1%B0 여기를 참고했다. 리스트 두 개를 써서 왔다 갔다 한 풀이다.
C++
Python
import sys
lstack=list(input())
rstack=[]
n=int(input())
for i in range(n):
inp=sys.stdin.readline().split()
if inp[0]=="L" and lstack:
rstack.append(lstack.pop())
elif inp[0]=="D" and rstack:
lstack.append(rstack.pop())
elif inp[0]=="B" and lstack:
lstack.pop()
elif inp[0]=="P":
lstack.append(inp[1])
print("".join(lstack+list(reversed(rstack))))
Java
'코테용 문제풀이 > 백준' 카테고리의 다른 글
요세푸스 문제 풀이 (0) | 2023.01.10 |
---|---|
큐 풀이 (0) | 2023.01.10 |
스택 수열 풀이 (0) | 2023.01.10 |
괄호 풀이 (0) | 2023.01.10 |
단어 뒤집기 풀이 (0) | 2023.01.10 |