최근 메이플스토리의 채팅 시스템에 새롭게 다양한 이모티콘들이 추가되는 큰 개편이 있었다.
이 채팅 시스템에서는 사용자가 채팅 창에 문자를 입력할 때,
이모티콘 이름 앞, 뒤로 문자 :
(콜론)을 붙이면 즉시 이 이모티콘 이미지로 변환된다.
예를 들어, 이름이 pink-bean-star
인 이모티콘이 있는데,
사용자가 채팅 창에 :pink-bean-star:
라고 입력하면
이 부분이 즉시 이모티콘의 이미지로 대체된다.
채팅 시스템에서는 채팅 창의 한 줄에 나타날 수 있는 문자 수의 제한 이 존재한다.
개를 넘는 문자는 채팅 창의 그다음 줄에 출력된다.
또한, 이미지로 변환된 이모티콘은 문자 개에 해당된다.
예를 들어, 일 때, 사용자가 ab:pink-bean-star:cd
를 입력하면,
총 두 줄로 출력되며, 마지막 줄에는 마지막 문자 d
만 출력된다.
사용자가 채팅 창에 입력하는 문자열 가 주어질 때, 한 줄에 출력되는 글자 수 제한 을 고려해서 채팅 창에 나타나는 모습을 출력하는 프로그램을 작성하시오.
사용자는 채팅 창에 문자열 의 문자를 앞에서부터 차례대로 하나씩 입력함에 유의하라.
첫 줄에 이모티콘의 개수를 나타내는 정수 과 채팅 창의 한 줄에 출력되는 최대 글자 수를 나타내는 정수 이 주어진다. ( )
그다음 개의 줄 각각에는 이모티콘의 이름이 주어진다.
이름은 알파벳 대소문자, -
(하이픈), _
(밑줄)로 구성된
길이 이상 이하인 문자열이다.
개의 이모티콘의 이름은 모두 다르다.
그다음 줄에 사용자가 입력하는 문자열 가 주어진다.
는 알파벳 대소문자, -
(하이픈), _
(밑줄), :
(콜론)으로 구성된
길이 이상 이하인 문자열이다.
사용자가 입력하는 문자열 가 채팅 창에 출력되는 모습을 출력한다.
채팅 창의 한 줄에 최대 개 문자가 출력되어야 하고, 한 줄에 다 출력되지 못한 부분은 이어서 그다음 줄에 출력한다.
이미지로 변환된 이모티콘은 문자 개로 간주한다.
다만, 프로그램의 출력으로는 이모티콘 이름의 앞, 뒤에 각각 문자 [
와 ]
를 붙여서 출력한다.
예를 들어, 입력 :pink-bean-star:
에 대해서는
[pink-bean-star]
를 출력한다.
1 4 pink-bean-star ab:pink-bean-star:cd
ab[pink-bean-star]c d
2 5 ok raised_hands :ok:ok:raised_hands::no::
[ok]ok[raised_hands]: no::
1 25 small :small::Small::SMALL:
입력 케이스들은 다음과 같은 종류로 구별되며, 한 종류의 케이스를 다 맞혀야 그 종류에 배정된 점수를 받을 수 있다.
종류 1: 18점
는 문자 :
(콜론)을 포함하지 않음.
종류 2: 35점
종류 3: 27점
에 등장하는 모든 :
(콜론)은 이모티콘으로 대체되는 데에 사용됨.
종류 4: 20점
모든 입력 케이스가 주어짐.