[python] 백준 11576번 - Base Conversion

hyeo71·2023년 6월 18일
0

백준

목록 보기
24/24

https://www.acmicpc.net/problem/11576

문제


소스코드

import sys

a, b = map(int, sys.stdin.readline().split())
m = int(sys.stdin.readline())
ab_list = list(map(int, sys.stdin.readline().split()))
ten = 0

# A진법 -> 10진법
for i in range(m):
    ten += ab_list.pop() * (a**i)

# 10진법 -> B진법
while ten:
    ab_list.append(ten % b)
    ten //= b

print(" ".join(map(str, ab_list[::-1])))

풀이

  • 문제 이해에 시간이 걸린 문제이다.
  • 입력이 위와 같을 경우 216(17)을 62(8)로 바꾸는 문제로 여러 숫자가 아닌 한 숫자를 바꾸는 문제인 것이다.
  • 입력받은 진법의 숫자를 10진법 숫자로 바꾼 뒤 이를 원하는 진법의 숫자로 바꾸는 방법을 사용하였다.
  • print 출력은 위와 동일 혹은 print(*ab_list[::-1])을 사용할 수 있다.

0개의 댓글