n진법의 숫자를 다시 10진수로 바꾸는 문제였다.
from string import ascii_uppercase
x1,x2 = input().split(" ")
x2 = int(x2)
x_list = list(x1)
list_36 = list(str(r) for r in range(10)) + list(ascii_uppercase)
y = 0
for i in range(len(x_list)):
y += list_36.index(x_list[i]) * (x2**(len(x_list)-1 - i))
print(y)
list_36
의 숫자 부분을 단순 range()를 이용해서 숫자로 넣었다.
그 후 인덱스 값을 이용해 '9'
를 찾으니까 없는 리스트로 나왔다.
그래서 다시 문자형으로 바꿔주었다.
직관을 너무 믿지 말고;; ㅎ 잘 따져보자.
그냥 단순히 인덱스 값을 활용해서 자릿수를 계산해야지~ 했는데 알고보니까 리스트는 앞에서부터 0,1,2이고 진법 계산할때는 2,1,0인것이었다;;
잘하자!!^^