We will find a way, we always have.

-interstellar

Problem Solving/백준

[백준] 5397번: 키로거

Redddy 2022. 4. 12. 22:56

● 스택을 사용한 문제

● <과 > 그리고 - 가 입력됐을때 어떻게 처리할지가 키포인트

 

문제

 

문제

우선 입력이 들어오면 바로 리스트에 담지 않고 입력이 <,>,- 중에 있는지 먼저 체크하였다. 

만약 <가 입력되면 마우스커서가 우측으로 한번 이동하는 것이다. 그 후 새로운 글자가 입력되면 제일 최근에 입력되었던 것보다 순서가 앞으로 이동하게 된다. 

예를 들어 abc<d 가 입력되면 abdc가 되는것이다. <가 입력되면 새로 만들어놓은 리스트에 최근에 담긴 값들을 하나씩 저장했다.

앞선 경우에 <가 입력되면 c를 새로운 리스트에 담아두는 것이다. 그 후 >가 입력되면 하나씩 꺼내준다. (스택)

만약 이 새로운 리스트에 문자가 담긴채 끝나면 즉 aboenc<<g 이렇게 끝나면 새로운 리스트의 값들을 sort() 해준다음 extend() 해주었다.

- 는 pop()로 처리하였다.

코드

 

'Problem Solving > 백준' 카테고리의 다른 글

[백준] 1010번: 다리 놓기  (0) 2022.04.17
[백준] 1924번: 2007년  (0) 2022.04.14
[백준] 1359번: 복권  (0) 2022.04.12
[백준] 2057번: 팩토리얼 분해  (0) 2022.04.12
[백준] 11651번: 좌표 정렬하기 2  (0) 2022.04.08