t_1이될때까지_99

source github.com/ndb796/python-for-coding-test
topics
types 문제풀이

문제

n이 1이 되야함 아래의 과정을 통해..

  1. N -1을한다
  2. N/k를 한다(나누어떨어질때만 가능)

나누는게 더 극단적이니 나누는것 > 빼는것을 고려해볼듯하다.
N-1이니 나누는것보다 N-1이 더 빠를 가능성은 없다
그리고 N/k의 값은 N-1로도 모두 구현이 가능하다.
THEREFORE GREEDY

import sys
n,m = map(int, sys.stdin.readline().split())

cnt = 0
while n>1:
    tmp =  n%m 
    if tmp == 0:
        n //= m
        cnt += 1
    else:
        n -= tmp
        cnt += tmp

print(cnt)