문제 링크
https://www.acmicpc.net/problem/11576
처음에 문제를 이해하기 어려워서 몇번씩 문제를 읽었다.
예제 입력의 ‘2 16’을 216으로 생각하고 풀었는데 도저히 예제 결과와 같이 나오지 않았다.
알고 보니 2*(17**1)+16*(17**0)으로 풀어야하는 것이었다.
for i in range(m):
Ato10 += number[i] * (A**i) 으로 A진수를 10진수로 바꾸었다.
정답 코드
import sys
A, B = map(int, sys.stdin.readline().split())
m = int(sys.stdin.readline())
number = list(map(int,sys.stdin.readline().split()))[::-1]
Ato10 = 0
for i in range(m):
Ato10 += number[i] * (A**i)
result = []
while(Ato10 != 0):
result.append(Ato10 % B)
Ato10 //= B
print(" ".join(map(str, result[::-1])))
728x90
'파이썬 알고리즘 문제 풀이' 카테고리의 다른 글
Baekjoon Online Judge 1929번 파이썬 (0) | 2022.07.22 |
---|---|
Baekjoon Online Judge 1978번 파이썬 (0) | 2022.07.18 |
Baekjoon Online Judge 1373번 파이썬 (0) | 2022.07.12 |
Baekjoon Online Judge 2745번 파이썬 (0) | 2022.07.05 |
Baekjoon Online Judge 11005번 파이썬 (0) | 2022.07.05 |