진법 변환 계산기

면접 대비

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

요약
2에서 16 사이의 진수로 표현된 수를 다른 진수로 변환하고, 결과를 7자리 필드에 오른쪽 정렬로 출력한다. 7자리를 넘으면 ERROR를 출력한다.
난이도

쉬움10점 중 3점

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

문제

휴대용 계산기의 진법 변환 기능을 만들려고 합니다. 이 계산기는 다음과 같은 특징을 가집니다.

  • 화면(디스플레이)은 7자리입니다.
  • 버튼에는 숫자 0부터 9까지와 대문자 A부터 F까지가 있습니다.
  • 2진법부터 16진법까지 지원합니다.

어떤 수를 한 진법에서 다른 진법으로 변환한 뒤, 그 결과가 계산기 화면에 어떻게 표시되는지 출력하는 프로그램을 작성하세요.

입력

입력의 각 줄은 하나의 변환을 나타내며, 하나 이상의 공백으로 구분된 세 개의 값으로 이루어집니다.

  1. 변환할 수 (원래 진법으로 표기됨)
  2. 원래 진법 (2 이상 16 이하의 정수)
  3. 바꿀 진법 (2 이상 16 이하의 정수)

값의 앞, 사이, 뒤에 여분의 공백이 있을 수 있습니다. 입력이 끝날 때까지 각 줄을 계속 읽어 처리하세요.

출력

각 변환에 대해, 변환된 수가 7자리 화면에 표시되는 모습 그대로 출력합니다. 즉, 폭이 7인 칸에 오른쪽 정렬하여(앞을 공백으로 채워) 출력합니다. 9보다 큰 자리는 대문자 A부터 F로 나타냅니다.

변환된 수가 7자리를 넘어 화면에 들어가지 않으면 대신 ERROR를 출력하되, 이 역시 폭 7 칸에 오른쪽 정렬하여 출력합니다.

예제1

  1. 예제 1

    입력
    1111000  2 10
    1111000  2 16
    2102101  3 10
    2102101  3 15
      12312  4  2
         1A 15  2
    1234567 10 16
       ABCD 16 15
    
    예상 출력
        120
         78
       1765
        7CA
      ERROR
      11001
     12D687
       D071