k로 많이 나눌수록 수행하는 횟수는 적어진다. 따라서 2번 과정을 최대한 많이 하는 방법을 찾아야 한다.
# 파이썬 코드
n, k = map(int, input().split(" "))
cnt = 0
while(1):
if n%k==0:
n/=k
cnt+=1
else:
n-=1
cnt+=1
if n==1:
break
print(cnt)
그래서 while문으로 n이 1이 될 때까지 반복했고, n이 k로 나누어 떨어지면 나누고 cnt를 1 증가시켰다. 계속 나누어떨어지면 계속 나누게 했고, 만약 나누어떨어지지 않으면 1씩 감소시키다가 (cnt는 1씩 증가) 다시 k로 나누는 등 n이 1이 될 때까지 반복했다.