๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
CodingTest

[Python]๋ฐฑ์ค€ 1158 ::์กฐ์„ธํผ์Šค ๋ฌธ์ œ ํ’€์ด

by ๋„์บ๋ฆฌ๐Ÿฑ 2021. 5. 12.
๋ฐ˜์‘ํ˜•

๋ฐฐ์—ด ์‚ฌ์šฉ.

(์ธ๋ฑ์Šค ๊ฐ’์€ ํ•ญ์ƒ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋‹ˆ ๋น ๋ฅด๊ฒŒ ํƒ์ƒ‰ ๊ฐ€๋Šฅํ•˜๋‹ค๊ณ  ์ƒ๊ฐ.)

 

ํ’€์ด.

์–ด๋–ป๊ฒŒ ์ ‘๊ทผ ํ•˜๊ณ  ์–ด๋–ค ๊ฒƒ์ด ์ค‘์š”ํ–ˆ๋‚˜?

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('>')
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€