전 글과 마찬가지로 백준을 파이썬으로 어느정도 풀어본 뒤 다시 풀어본 문제이당. 구글링해서 찾은 코드가 내가 쓴 것보다 더 깔끔해서 정리해본다.

전에 그린 그림이 너무 발이고.. 이게 더 이해하기 편해서 다시 그려보았다. 이 원리를 가지고 문제를 풀어보자.
핵심은
1. 0이 될 때까지 계속 나누기
2. 나머지를 거꾸로 만들기
alphabet = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
N, B = map(int, input().split())
num = []
while N > 0:
num.append(N % B)
N = N // B
for i in num[::-1]:
print(alphabet[i], end='')
N, B = map(int, input().split(" "))
num_list = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
result = ''
while N != 0:
result += str(num_list[N % B])
N = N // B
print(result[::-1])

아이디어는 똑같은데 성능 차이가 꽤 나는군,, 항상 불필요한 접근을 줄이는 방법을 고민해보쟈