최근 사용한 문서 목록
면접 대비시간 제한1초메모리 제한512 MB
용량 k인 최근 사용 문서 목록을 시뮬레이션한다. 문서를 열면 맨 앞으로 옮기고, 새 문서면 맨 앞에 넣고 넘칠 때 맨 뒤를 버린 뒤 최종 목록을 출력한다.
문제
많은 프로그램에는 최근 사용한 문서 목록(NKD)이 있다. 이름 그대로 최근에 연 문서를 모아 둔 목록이고, 사용자는 문서를 일일이 찾지 않고 여기서 바로 열 수 있다. 목록에는 용량이 있어서, 같은 시점에 목록에 들어갈 수 있는 문서의 최대 개수가 정해져 있다.
사용자가 문서를 열 때마다 다음 두 가지 중 하나가 일어난다. 목록에서 골라 열든 다른 방법으로 열든 규칙은 같다.
- 그 문서가 이미 목록 어딘가에 있으면 목록의 맨 앞으로 옮긴다.
- 그렇지 않으면 목록의 맨 앞에 넣는다. 이때 용량을 넘으면 목록의 맨 뒤에 있는 문서를 버린다.
목록은 처음에 비어 있다. 목록의 용량과 사용자가 여는 문서의 순서가 주어진다. 문서를 모두 연 뒤 목록의 내용을 구하라.
입력
첫째 줄에 목록의 용량 가 주어진다. ()
둘째 줄에 사용자가 여는 문서의 개수 이 주어진다. ()
이어지는 개의 줄에는 사용자가 여는 문서의 이름이 여는 순서대로 한 줄에 하나씩 주어진다. 문서 이름은 길이가 10 이하인 영어 소문자 문자열이고, 공백을 포함하지 않는다.
출력
문서를 모두 연 뒤 목록에 남은 문서를 한 줄에 하나씩 출력한다. 첫 줄에 출력하는 문서가 목록의 맨 앞에 있는 문서다.