페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#4941

문자열 처리 1s 256MB

문제

소문자로 이루어진 문자열 사전이 있다.

초기에는 비어있으며 아래 명령들을 통해 사전을 구성해나가도록 한다.

 

1 str

str을 사전의 맨 뒤 문자열로 추가한다.

str은 대소문자로 이루어진 문자열이다.

str을 소문자로 변경하여 추가해야 한다.

문자열 길이는 15 이하이다.

 

ex) str='ThirD'

    before) dict = [ 'first' , 'second' ]

    after) dict = [ 'first' , 'second', 'third' ]​

 

2 c

c=0, 사전순 오름차순으로 정렬

c=1, 사전순 내림차순으로 정렬

c=2, 길이 짧은 순으로 정렬, 같다면 사전순 오름차순

 

정렬 후, 사전의 문자열을 앞에서부터 3개 출력한다.

3개 이상의 문자열이 있음을 보장한다.

 

3 str

str을 사전의 맨 앞 문자열의 뒷부분에 추가한다.

str은 대소문자로 이루어진 문자열이며 소문자로 변경하여 추가하고 변경된 문자열을 출력한다.

한 개 이상의 문자열이 존재함을 보장한다.

만약, 문자열 길이가 15를 넘어가면 뒷부분은 자르고 길이 15로 맞춘다.

 

ex) str='Abc'

    before) dict = [ 'first' , 'second', 'third' ]

    after) dict = [ 'firstabc' , 'second', 'third' ]​

    print) firstabc


입력

첫째 줄에 쿼리 수 Q가 주어진다.

둘째 줄부터 Q개 줄에 걸쳐 명령이 주어진다.

 

Q <= 10,000

문자열 길이 <= 15


출력

2,3 번 명령에 대한 결과를 한 줄씩 출력한다.

2번 명령은 3개 문자열을 한 칸 띄고 출력한다.

3번 명령은 문자열 한 개를 출력한다.


예제

9

1 firsT
1 secONd
1 THIRD
1 firth
2 0
2 1
2 2
3 plus
2 2
first firth second

third second firth
first firth third
firstplus
firth third second


출처

teriusu

로그인해야 코드를 작성할 수 있어요.