728x90
✔️ 문제풀이 1
n,k=map(int, input().split())
cnt=0
while n>=k:
while n%k!=0:
n-=1
cnt+=1
n//=k
cnt+=1
while n>1:
n-=1
cnt+=1
print(cnt)
1. n이 k 이상이면 k로 계속 나누기
2. n이 k의 배수가 아니면(n%k!=0이면) 1씩 빼기
3. n이 k의 배수가 되면 k로 나누기
4. 위 반복을 거친 후 마지막으로 남은 수 1씩 빼기(n>1 일 때까지!)
728x90
'📁 코딩테스트 준비 > Python' 카테고리의 다른 글
[그리디 / python] 곱하기 혹은 더하기 (0) | 2022.11.11 |
---|---|
[그리디 / python] 모험가 길드 (0) | 2022.11.11 |
[그리디 / python] 숫자 카드 게임 (0) | 2022.11.10 |
[그리디 / python] 큰 수의 법칙 (0) | 2022.11.10 |
[그리디 / python] 거스름돈 (0) | 2022.11.10 |