https://www.acmicpc.net/problem/2745
N , B = input().split()
B = int(B)
alpha = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
result = 0
cnt = 0
for i in (reversed(N)):
if i in alpha:
result += (alpha.index(i)+10)*(B**cnt)
else:
result += int (i) * (B ** cnt)
cnt += 1
print(result)
계속 valueError가 떠서 뭐가 잘못된건가 했는데, alpha를 잘못적어서 그렇다...^^; 우선 일,십,백,천 의 순으로 값을 result에 더해야하므로 역순으로 반복문을 돌렸다. 그리고 그 값이 숫자가 아니라 알파벳인 경우 인덱스 값 + 10을 해주었다. 그 이유는 A의 경우 N진수에서 10을 담당하는데, alpha에서 인덱스 값이 0이기 때문이다. Z의 경우 인덱스 값이 26이지만, 36진법에선 값이 36이기 때문이다. 참고로 cnt는 자리수 값!