문제1847--이진 암호화

1847: 이진 암호화

[만든사람 : onthebitLab-admin 2023/05/23]
시간제한 : 1.000 sec  메모리제한 : 128 MiB

문제 설명

 이진 압축이란 {0, 1}로 이루어진 길이가 2^k인 문자열에 대해서, 모두 같은 문자가 될 때까지의 크기가 2^(k-1)인 두 그룹으로 분할하여 모두 같은 문자가 되도록 하는 과정으로 암호화를 한다. 만약 주어진 원문의 길이가 4인 "0000"라면, 암호문은 "0"이다.


 만약 주어진 암호문이 길이가 4인 "1101"이라면 모든 문자가 같지 않기 때문에 "11 01"로 일단 한 번 분할하고 다시 뒷부분은 "01"로 같지 않으니 "11 0 1"로 분할한다.


 즉, 이로써 만들어진 암호문은 "-1-01"이 된다. "-1-01"의 의미는
 - : 먼저 전체를 분할하고
 1 : 분할된 왼쪽 부분은 모두 1이고
 - : 오른쪽 분할은 다시 분할하며
 01 : 분할된 결과는 0과 1이라는 의미이다.


 길이가 n인 원문을 입력받아서 암호문을 출력하는 프로그램을 작성하시오.

입력 설명

 첫번째 줄에 암호문의 길이 n이 입력된다.
 두번째 줄에 길이가 n인 0, 1로 구성된 원문이 입력된다. (단, 1<=n<=2^15(단, n은 모두 2^k(k는 자연수)))

출력 설명

 위 원리로 만들어진 암호문을 출력한다.

입력 예시 Copy

4
0000

출력 예시 Copy

0