2020. 9. 2. 18:45ใ์ด๊ฒ์ด ์ฝ๋ฉํ ์คํธ๋ค/๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ
1์ด ๋ ๋๊น์ง- ์ด๊ฒ์ด ์ฝ๋ฉํ ์คํธ๋ค
๋ฌธ์ :
์ด๋ ํ ์ N์ด 1์ด ๋ ๋๊น์ง ๋ค์์ ๋ ๊ณผ์ ์ค ํ๋๋ฅผ ๋ฐ๋ณต์ ์ผ๋ก ์ ํํ์ฌ ์ํํ๋ ค๊ณ ํ๋ค. ๋จ, ๋ ๋ฒ์งธ ์ฐ์ฐ์ N์ด K๋ก ๋๋์ด๋จ์ด์ง ๋๋ง ์ ํํ ์ ์๋ค.
1. N์์ 1์ ๋บ๋ค.
2. N์ K๋ก ๋๋๋ค.
์๋ฅผ ๋ค์ด N์ด 17, K๊ฐ 4๋ผ๊ณ ๊ฐ์ ํ์. ์ด๋ 1๋ฒ์ ๊ณผ์ ์ ํ ๋ฒ ์ํํ๋ฉด N์ 16์ด ๋๋ค. ์ดํ์ 2๋ฒ์ ๊ณผ์ ์ ๋ ๋ฒ ์ํํ๋ฉด N์ 1์ด ๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ์ด ๊ฒฝ์ฐ ์ ์ฒด ๊ณผ์ ์ ์คํํ ํ์๋ 3์ด ๋๋ค. ์ด๋ N์ 1๋ก ๋ง๋๋ ์ต์ ํ์์ด๋ค.
N๊ณผ K๊ฐ ์ฃผ์ด์ง ๋ N์ด 1์ด ๋ ๋๊น์ง 1๋ฒ ํน์ 2๋ฒ์ ๊ณผ์ ์ ์ํํด์ผ ํ๋ ์ต์ ํ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ ์กฐ๊ฑด:
- ์ฒซ์งธ ์ค์ N(2<=N<=100,000)๊ณผ K(2<=K<=100,000)๊ฐ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋๋ฉฐ ๊ฐ๊ฐ ์์ฐ์๋ก ์ฃผ์ด์ง๋ค. ์ด๋ ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง๋ N์ ํญ์ K๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๋ค.
์ถ๋ ฅ ์กฐ๊ฑด:
- ์ฒซ์งธ ์ค์ N์ด 1๋ ๋๊น์ง 1๋ฒ ํน์ 2๋ฒ์ ๊ณผ์ ์ ์ํํด์ผ ํ๋ ํ์์ ์ต์๊ฐ์ ์ถ๋ ฅํ๋ค.
๋ฌธ์ ํด์ค:
1. N์ด K๋ก ๋๋์ด๋จ์ด์ง ๋ or N์ด K๋ก ๋๋์ด๋จ์ด์ง์ง ์์ ๋๋ก ๋๋๋ค.
2. ๋ฐ๋ณตํ๋ค.
n,k = map(int,input().split())
count =0
while n!=1:
if n%k==0:
n = n//k
count+=1
else :
n = n-1
count+=1
print(count)
๋ค์์ N์ด K์ ๋ฐฐ์๊ฐ ๋๋๋ก ํจ์จ์ ์ผ๋ก ํ ๋ฒ์ ๋นผ๋ ๋ฐฉ์์ด๋ค.
์ด๋ฅผ ์ตํ๋๋ฉด ์ข๋ค.
n,k= map(int,input().split())
result =0
while True:
target = (n//k)*k
result += n-target
n = target
if n<k:
break
result+=1
n = n//k
result += (n-1)
print(result)
'์ด๊ฒ์ด ์ฝ๋ฉํ ์คํธ๋ค > ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐฑ์ค - ์ฃผ์ฌ์(Swift) (0) | 2022.11.06 |
---|---|
๋ฐฑ์ค - ๋จ์ด์ํ(Swift) (0) | 2022.10.25 |
ํฐ ์์ ๋ฒ์น- ์ด๊ฒ์ด ์ฝ๋ฉํ ์คํธ๋ค (0) | 2020.09.02 |
๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ- ์ด๊ฒ์ด ์ฝ๋ฉํ ์คํธ๋ค (0) | 2020.09.02 |