티스토리 뷰

 

#1이 될때까지 (미리 다 빼는 ver)
n, k = map(int, input().split())
remainder =0

while n>=k:
  target = (n//k)*k #나누어 떨어지는 수 만들기 24 6 
  remainder += n - target #r=1 4 
  n = target              #n=24 6 
  n = n//k                #n=8 2 
  remainder+=1            #r=2 5 

while n!=1:
  n-=1
  remainder+=1

print(remainder)

피드백: 

while n!=1 하지 말고(시간 복잡도 때문에), 그냥 remainder+=n-1 해도 좋을듯! 

댓글