본문 바로가기
코딩 테스트/그리디

1이 될 때까지

by hazel_ 2021. 1. 11.

이것이 취업을 위한 코딩테스트다. with 파이썬

p.99

 

방법 1

N,K=map(int, input().split())

count = 0

while N >= K:
  while N%K != 0:
    N -= 1
    count += 1
  N //= K
  count += 1

while N > 1:
  N -= 1
  count += 1

print(count)

--> N에서 1 빼는걸 반복 + N을 K로 나누는 것을 반복

 

 

방법 2

N,K=map(int, input().split())

count = 0

while True:
  target = (N // K) * K
  # -1하는 반복 코드를 생략
  count += N - target

  N = target
  
  if N < K:
    break

  N //= K
  count += 1

count += N-1
print(count)

--> N을 K로 나누는 것만 반복

'코딩 테스트 > 그리디' 카테고리의 다른 글

문자열 뒤집기  (0) 2021.01.16
곱하기 혹은 더하기  (0) 2021.01.16
모험가 길드  (0) 2021.01.16
숫자 카드 게임  (0) 2021.01.11
큰 수의 법칙  (0) 2021.01.11

댓글