만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

T9 문자 입력

면접 대비

시간 제한5초메모리 제한512 MB

요약
메시지가 주어지면, 같은 키를 연속으로 누를 때 사이에 공백을 넣어 메시지를 입력하는 키 입력열을 출력한다.
난이도

쉬움10점 중 3점

유형
문자열, 구현, 해시맵, 시뮬레이션
정답자
아직 제출이 없습니다

문제

로마자는 글자가 26개지만 전화기 자판에는 숫자 키가 열 개뿐이다. 친구에게 보낼 메시지를 자판을 누른 순서로 적으려고 한다. 글자는 아래 표대로 숫자 키에 배정되어 있고, 한 글자를 입력하려면 그 글자가 배정된 키를 배정 순서만큼 연달아 누른다. 예를 들어 b는 2번 키에서 두 번째 글자이므로 22를 누른다.

키입력되는 글자
2a, b, c
3d, e, f
4g, h, i
5j, k, l
6m, n, o
7p, q, r, s
8t, u, v
9w, x, y, z
0공백

같은 키에 배정된 글자를 연달아 입력할 때는 두 번째 글자를 누르기 전에 잠깐 쉬어야 한다. 쉬는 구간은 공백 문자 하나로 나타낸다. 즉 2 2는 aa이고, 22는 b다. 서로 다른 키를 누를 때는 쉬지 않으므로 공백을 넣지 않는다.

메시지가 주어지면 그 메시지를 입력하는 키 누름 순서를 구하라.

입력

첫째 줄에 테스트 케이스의 수 NN이 주어진다. 이어서 NN개의 줄에 메시지가 한 줄에 하나씩 주어진다.

메시지는 소문자 a부터 z까지와 공백 문자로만 이루어진다. 공백은 0번 키를 한 번 눌러 입력한다. 메시지 앞이나 뒤에 오는 공백도 메시지의 일부이므로 그대로 처리한다.

제한

  • 1≤N≤1001 \le N \le 100
  • 1≤1 \le 메시지의 길이 ≤1000\le 1000

출력

각 테스트 케이스마다 Case #x: 다음에 그 메시지를 입력하는 키 누름 순서를 이어 붙여 한 줄에 출력한다. xx는 1부터 시작하는 테스트 케이스 번호다.

예제4

  1. 예제 1

    입력
    4
    hi
    yes
    foo  bar
    hello world
    
    예상 출력
    Case #1: 44 444
    Case #2: 999337777
    Case #3: 333666 6660 022 2777
    Case #4: 4433555 555666096667775553
    
  2. 예제 2

    입력
    1
    abcdefghijklmnopqrstuvwxyz
    
    예상 출력
    Case #1: 2 22 2223 33 3334 44 4445 55 5556 66 6667 77 777 77778 88 8889 99 999 9999
    
  3. 예제 3

    입력
    1
     
    
    예상 출력
    Case #1: 0
    
  4. 예제 4

    입력
    3
    a
    z
    s
    
    예상 출력
    Case #1: 2
    Case #2: 9999
    Case #3: 7777