본문 바로가기

Algorithm/알고리즘 문제

백준 5397번 : 키로거

문제


5397번: 키로거 (acmicpc.net)

 

5397번: 키로거

첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한줄로 이루어져 있고, 강산이가 입력한 순서대로 길이가 L인 문자열이 주어진다. (1 ≤ L ≤ 1,000,000) 강산이가 백스페이스를 입

www.acmicpc.net

아이디어


1406번과 동일한 로직으로 풀이했다.
1406번은 텍스트와 명령어가 따로 주어졌다면, 5397번은 인라인으로 주어졌다는 차이점 정도!
심지어 StringBuilder로 delete, insert하다가 시간 초과 떠서 데크 2개로 해결한 것조차 동일..
커서가 나오는 문제는 커서 왼쪽 데크, 오른쪽 데크를 만들어서 풀어야 하나보다!

알게된 것


백준 문제는 무조건 시간 복잡도가 낮은 것으로 풀이해야 두번 고생하는 일이 없음, 최대한 O(1)로 해결하도록 하자!
인라인으로 주어졌다고 해서 인라인으로 풀이하려다가 낭패를 봤음..
차라리 새로운 자료구조를 만들어서 거기에 정답을 넣는게 더 간단하다!