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
for i in range(m):
ten += ab_list.pop() * (a**i)
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])
을 사용할 수 있다.