진법 변환

면접 대비

시간 제한1초메모리 제한128 MB

요약
0-9, A-Z, a-z의 62개 숫자를 쓰는 진법 사이에서 수를 변환하고, 각 변환 뒤에 빈 줄을 출력한다.
난이도

보통10점 중 4점

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

문제

어느 진법(기수)으로 표현된 수를 다른 진법으로 변환하는 프로그램을 작성하세요. 사용하는 숫자(digit)는 모두 62가지이며, 다음과 같습니다.

{ 0-9, A-Z, a-z }

힌트: 한 변환의 결과를 다음 변환의 입력으로 사용하는 식으로 진법 변환을 연속해서 수행하다가 처음 진법으로 되돌아오면, 원래의 수가 그대로 나와야 합니다.

입력

첫 줄에는 양의 정수 하나가 주어집니다. 이는 뒤이어지는 줄의 개수입니다.

그 뒤 각 줄에는 입력 진법(10진수), 출력 진법(10진수), 그리고 입력 진법으로 표현된 수가 공백으로 구분되어 주어집니다. 입력 진법과 출력 진법은 모두 2 이상 62 이하입니다.

각 숫자가 나타내는 값은 다음과 같습니다. 0–9는 평소와 같은 0부터 9를 뜻하고, A = 10, B = 11, …, Z = 35, a = 36, b = 37, …, z = 61 입니다.

출력

각 진법 변환마다 세 줄을 출력합니다.

  1. 첫 줄에는 입력 진법(10진수), 공백 하나, 그리고 입력으로 주어진 수를 그대로 출력합니다.
  2. 둘째 줄에는 출력 진법(10진수), 공백 하나, 그리고 그 수를 출력 진법으로 표현한 값을 출력합니다.
  3. 셋째 줄은 빈 줄입니다.

예제1

  1. 예제 1

    입력
    8
    62 2 abcdefghiz
    10 16 1234567890123456789012345678901234567890
    16 35 3A0C92075C0DBF3B8ACBC5F96CE3F0AD2
    35 23 333YMHOUE8JPLT7OX6K9FYCQ8A
    23 49 946B9AA02MI37E3D3MMJ4G7BL2F05
    49 61 1VbDkSIMJL3JjRgAdlUfcaWj
    61 5 dl9MDSWqwHjDnToKcsWE1S
    5 10 42104444441001414401221302402201233340311104212022133030
    
    예상 출력
    62 abcdefghiz
    2 11011100000100010111110010010110011111001001100011010010001
    
    10 1234567890123456789012345678901234567890
    16 3A0C92075C0DBF3B8ACBC5F96CE3F0AD2
    
    16 3A0C92075C0DBF3B8ACBC5F96CE3F0AD2
    35 333YMHOUE8JPLT7OX6K9FYCQ8A
    
    35 333YMHOUE8JPLT7OX6K9FYCQ8A
    23 946B9AA02MI37E3D3MMJ4G7BL2F05
    
    23 946B9AA02MI37E3D3MMJ4G7BL2F05
    49 1VbDkSIMJL3JjRgAdlUfcaWj
    
    49 1VbDkSIMJL3JjRgAdlUfcaWj
    61 dl9MDSWqwHjDnToKcsWE1S
    
    61 dl9MDSWqwHjDnToKcsWE1S
    5 42104444441001414401221302402201233340311104212022133030
    
    5 42104444441001414401221302402201233340311104212022133030
    10 1234567890123456789012345678901234567890