5397 - 키로거

slee2·2022년 1월 3일
0

백준

목록 보기
19/20

문제

https://www.acmicpc.net/problem/5397

풀이

이 문제는 이전 문제 1406번 에디터 를 해결했다면 매우 쉽게 해결이 가능하다.

deque를 이용해서 해결하였으며 stack이나 LinkedList를 이용해도 해결이 가능한 것으로 알고 있다.

여기서 포인트는 커서를 기준으로 왼쪽 덱 오른쪽 덱을 나눈다는 것이다.

< 가 올 경우 커서를 왼쪽으로 한 칸 옮겨야 하므로
Left 덱을의 마지막 값을 Right 덱의 첫번째 값으로 옮기면 된다.

> 가 올 경우 커서를 오른쪽으로 한칸 옮겨야 하므로
Right 덱의 첫번째 값을 Left 덱의 마지막 값으로 옮기면 된다.

- 가 올 경우 벡스페이스 기능을 해야 하므로
Left 덱의 마지막 값을 지우면 된다.

그 외에는 커서 부분에 문자를 추가해야 하므로
Left 덱의 마지막에 문자를 추가하면 된다.

이를 반복하면 쉽게 해결이 가능하다.

0개의 댓글

관련 채용 정보