문제 자체를 이해하지 못해 끙끙대다가 구글링해서 이해했다 ㅎㅎ
근데 문제는! 이제 java에 익숙해져서 파이썬으로 풀려고 했더니 코드 구현을 못 하겠는 거다 ㅎㅎㅎ 이것만 풀고 다시 처음부터 파이썬으로 풀어야겠다.. 조급해 하지 말기!
2진법을 10진법으로 바꾸는 방법을 생각해보자!
1010이면 2^31 + 2^20 + 2^11 + 2^00으로 풀었다.
마찬가지로 36진법이면 2대신 36을 넣으면 된다.
나는 처음에 B의 알파벳을 아스키코드를 사용해서 하려고 했는데, 문제 풀이들을 보면 num_list와 enumerate를 이용하는 거다! 그래서 enumerate가 뭔지 구글링했고 이를 활용해 나머진 내 머리로 풀려고 노력했다. 맨 끝자리수부터 0,1,..제곱을 해줘야 하므로 N을 reverse해주어야 한다!
N, B = input().split(" ")
num_list = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
result = 0
for i, letter in enumerate(N[::-1]):
result += int(B) ** i * num_list.index(letter)
print(result)
역시 파이썬이 젤 편해... 근데 할만해서 일단은 돌아가지 말고 파이썬으로 더 풀어봐야겠당ㅎ