๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ณต๋ถ€ ๊ธฐ๋ก

์ด์ฝ”ํ…Œ ๊ทธ๋ฆฌ๋”” : 1์ด ๋  ๋•Œ๊นŒ์ง€

by hyeonha 2024. 3. 22.

๋ชฉ์ฐจ

    ๋ฐฐ์šด์ 

    while๋ฌธ์€ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ๋™์•ˆ ๊ณ„์† ์‹คํ–‰๋œ๋‹ค. 

     # 1๋ฒˆ์งธ ๋ฐฉ๋ฒ•
     while n>1:
       if n%k==0:
         count +=1
        n = n //k
       else:
         n -= 1
         count +=1
    
    # 2๋ฒˆ์งธ ๋ฐฉ๋ฒ•
    while n>=k:
      while n %k != 0:
        n -=1
        count +=1
      n //=k
      count +=1
    
    # 3๋ฒˆ์งธ ๋ฐฉ๋ฒ•
     while n>1:
       n-=1
       count+=1

     

    while True:
      target = (n//k) * k # k๋กœ ๋‚˜๋ˆ„์–ด๋–จ์–ด์ง€๋Š” ์ˆ˜๋ฅผ ๊ตฌํ•ด์คŒ
      result += (n-target) # 1์„ ๋นผ์•ผํ•  ํšŸ์ˆ˜๋ฅผ result์— ๋”ํ•ด์คŒ 
      n = target # target์„ n ๊ฐ’์— ๋„ฃ์–ด์คŒ 
      if n<k:
        break
      result +=1 # n์ด k๋ณด๋‹ค ํฌ๋‹ค๋ฉด ๊ณ„์† ๋‚˜๋ˆ„๋Š” ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•  ๊ฒƒ์ด๋‹ค result์— 1์”ฉ ๋”ํ•ด์ค€๋‹ค.
      n //= k # k๋กœ n์„ ๋‚˜๋ˆ„์–ด์ค€๋‹ค. 
    
    result += (n-1) 
    
    print(result)

     

    728x90