반응형
주어진 n, k수에서
1. n에서 1을 뺀다.
2. n을 k로 나눈다.
두 과정 중 하나를 반복적으로 수행하려 한다. 2번째 과정은 n이 k로 나누어 떨어질 경우에만 가능하다.
최소 횟수값을 출력하기 위해서는 2번, 나눗셈을 많이 사용해야 한다.
책에 나와있는 코드 대신, 스스로 코드를 짜본 결과
import sys
n,k = map(int, sys.stdin.readline().split())
# 시행 횟수
cnt = 0
while n != 1:
if n%k == 0:
n = n//k
else:
n = n-1
cnt += 1
print(cnt)
n이 1이 아닐동안 반복문을 작성하였고, cnt = 0으로 두어 한 번 실행할 때마다 1씩 증가
반응형
'알고리즘' 카테고리의 다른 글
파이썬(python) 1934번 최소공배수 (0) | 2022.01.25 |
---|---|
파이썬(python) 2609번 최대공약수와 최소공배수 (0) | 2022.01.25 |
숫자 카드 게임 (0) | 2022.01.24 |
큰 수의 법칙 (0) | 2022.01.24 |
파이썬(python) 10039번 평균 점수 (0) | 2021.12.24 |