๋ฐฐ์ด ์ฌ์ฉ.
(์ธ๋ฑ์ค ๊ฐ์ ํญ์ ๊ฐ์ง๊ณ ์์ผ๋ ๋น ๋ฅด๊ฒ ํ์ ๊ฐ๋ฅํ๋ค๊ณ ์๊ฐ.)
ํ์ด.
์ด๋ป๊ฒ ์ ๊ทผ ํ๊ณ ์ด๋ค ๊ฒ์ด ์ค์ํ๋?
N ๊ธธ์ด์ 1๋ถํฐ N ๊น์ง ์ฑ์์ง ๋ฆฌ์คํธ๋ฅผ ๋ง๋ ๋ค.
K -1 ์ ์ฒ์ ์ธ๋ฑ์ค๋ก ์ ํ๋ค. (๋ฆฌ์คํธ ์์๊ฐ 1๋ถํฐ ์์ํ๋๊น)
K-1 ๋ฒ์งธ ํด๋น ๋ฆฌ์คํธ์ ๊ฐ์ pop ํด์ ๊บผ๋ด๊ณ (๋ฆฌ์คํธ ๊ธธ์ด ์งง์์ง)๊ฒฐ๊ณผ ๋ฆฌ์คํธ์ ๋ฃ๋๋ค.
๊ณ์ ๋ค๋ก ๊ฐ์ผ ํ๊ธฐ ๋๋ฌธ์ ๋ฐฉ๊ธ ์ธ๋ฑ์ค์๋ค๊ฐ +K-1์ ํด์ค๋ค.
์ด ๋ ์ธ๋ฑ์ค๊ฐ ๋จ์์๋ ๋ฆฌ์คํธ ๊ธธ์ด๋ณด๋ค ๊ธธ ์ ์๋๋ฐ,
๊ทธ๋ด๋ ์์ผ๋ก ๋๋ ค ์ค์ผ ํ๋ค. ์ด๋๋ ๊ทธ ๊ธด ์ธ๋ฑ์ค๋ฅผ ๋จ์์๋ ๋ฆฌ์คํธ์ ๊ธธ์ด๋ก ๋๋ ๋๋จธ์ง๋ฅผ ์ธ๋ฑ์ค๋ก ์ฌ์ฉ ํ๋ฉด ๋๋ค.
๋ฆฌ์คํธ๊ฐ ๋น๋๊น์ง ๋ฐ๋ณตํ๋ค.
์์ฑํ ์ฝ๋.
N,K = map(int, input().split())
list_N = []
for i in range(1,N+1):
list_N.append(i)
idx = K-1
result = []
while(len(list_N) > 0):
k = list_N.pop(idx)
result.append(k)
idx = idx + K - 1
if(idx > len(list_N)-1):
if(len(list_N)!=0):
idx = idx % (len(list_N))
print('<',end="")
for j in range(len(result)):
if(j != len(result)-1):
print(result[j],end="")
print(', ',end="")
else:
print(result[j],end="")
print('>')
'CodingTest' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python]๋ฐฑ์ค 1406 ::์๋ํฐ ๋ฌธ์ ํ์ด (0) | 2021.05.12 |
---|---|
[Python]๋ฐฑ์ค 2346 ::ํ์ ํฐ๋จ๋ฆฌ๊ธฐ ๋ฌธ์ ํ์ด (0) | 2021.05.12 |
[Python]๋ฐฑ์ค11286::์ ๋๊ฐ ํ ๋ฌธ์ ํ์ด (0) | 2021.05.04 |
[Python]๋ฐฑ์ค 5397::ํค๋ก๊ฑฐ ํ์ด (0) | 2021.05.04 |
[Python]๋ฐฑ์ค 2162::์นด๋2 (0) | 2021.05.04 |
๋๊ธ