본문 바로가기

카테고리 없음

[python3][이것이 코딩테스트] 1이될때까지

728x90

문제

어떤수 N이 1이 될 때까지 다음의 두 과정 중 하나를 반복적으로 선택하여 수행하려고한다. 단, 두번째 연산은 N이 K로 나누어떨어질 때만 선택할 수 있다.

 

1. N에서 1을 뺀다.

2. N을 K로 나눈다.

 

예를 들어 N = 17, K = 4일 경우

1) 17 - 1 = 16

2) 16 // 4 = 4

3) 4 // 4 = 1

 

전체 과정을 실행한 횟수는 3이 된다. 이는 N을 1로 만드는 최소 횟수이다. 

 

문제풀이

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

count=0
while(1):
    
    
    if N%K==0:
    
        N=N//K
        count+=1
    else:
        N-=1
        count+=1
        
    
    if N==1:
        break
    
print(count)
728x90