만드는 중입니다

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

어리석은 치환

메모리 제한1024 MB

요약
01을 2로, 12를 3으로 바꾸는 식의 열 가지 규칙을 정해진 순서로 반복 적용해 더 이상 변하지 않을 때의 최종 문자열을 구한다.
난이도

보통10점 중 7점

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

문제

길이 NN인 문자열 SS가 주어지며, SS는 숫자 0-9로만 이루어져 있다. 다음 연산을 주어진 순서대로 수행한다.

  1. 모든 부분 문자열 01을 찾아 각각을 2로 바꾼다.
  2. 모든 부분 문자열 12를 찾아 각각을 3으로 바꾼다.
  3. 모든 부분 문자열 23을 찾아 각각을 4로 바꾼다.
  4. 모든 부분 문자열 34를 찾아 각각을 5로 바꾼다.

.

.

.

  1. 모든 부분 문자열 89를 찾아 각각을 0으로 바꾼다.
  2. 모든 부분 문자열 90을 찾아 각각을 1로 바꾼다.

위 연산을 모두 수행해도 문자열이 바뀌지 않을 때까지 같은 순서로 반복한다. 예를 들어 SS가 12라면 연산 1은 문자열에 영향을 주지 않으므로 여기서 멈추지 않고 연산 2를 수행해 문자열을 3으로 바꾼다. 이후에는 위 과정을 몇 번 반복해도 문자열이 더 바뀌지 않는다.

주어진 SS에 대해 최종 문자열이 어떻게 되는지 구하시오.

입력

입력의 첫 줄에는 테스트 케이스의 수 TT가 주어진다. 이어서 TT개의 테스트 케이스가 주어진다. 각 테스트 케이스는 두 줄로 이루어진다.

각 테스트 케이스의 첫 줄에는 문자열 SS의 길이를 나타내는 정수 NN이 주어진다.

각 테스트 케이스의 둘째 줄에는 길이 NN인 문자열 SS가 주어진다.

출력

각 테스트 케이스마다 Case #x: y 형식의 한 줄을 출력한다. 여기서 xx는 테스트 케이스 번호(1부터 시작)이고, yy는 최종적으로 얻은 문자열이다.

제한

  • 1≤T≤1001≤T≤100.
  • 입력 문자열은 숫자 0-9로만 이루어진다.

예제1

  1. 예제 1

    입력
    4
    3
    012
    4
    0145
    5
    00000
    11
    98765432101
    
    예상 출력
    Case #1: 22
    Case #2: 26
    Case #3: 00000
    Case #4: 1