๐Ÿ Algorithm/๋ฐฑ์ค€

[๋ฐฑ์ค€] 11866๋ฒˆ: ์š”์„ธํ‘ธ์Šค ๋ฌธ์ œ 0(Python)

Dhey 2022. 3. 31. 17:25
๋ฐ˜์‘ํ˜•

๋ฌธ์ œ 

 

 

11866๋ฒˆ: ์š”์„ธํ‘ธ์Šค ๋ฌธ์ œ 0

์ฒซ์งธ ์ค„์— N๊ณผ K๊ฐ€ ๋นˆ ์นธ์„ ์‚ฌ์ด์— ๋‘๊ณ  ์ˆœ์„œ๋Œ€๋กœ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ K ≤ N ≤ 1,000)

www.acmicpc.net

 


 

์ œ์ถœ ์ฝ”๋“œ 

from collections import deque

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

for i in range(1, N+1):
    q.append(i)

li = []
while q:
    for i in range(K-1):
        q.append(q.popleft())
    li.append(q.popleft())

print("<", end="")
for i in range(len(li)-1):
    print("%d" % li[i], end=", ")
print(li[-1], end="")
print(">")

 

์ด ๋ฌธ์ œ๋Š” deque๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋˜๋Š” ๋ฌธ์ œ์ด๋‹ค.

popleft()๋Š” ๊ฐ€์žฅ ์™ผ์ชฝ์˜ ์›์†Œ๋ฅผ ์ œ๊ฑฐํ•ด์ฃผ๋ฉฐ ์ œ๊ฑฐํ•œ ๊ฐ’์„ return ํ•ด์ค€๋‹ค.

๋”ฐ๋ผ์„œ ์œ„์— q.append(q.popleft())๋Š”  '๊ฐ€์žฅ ์™ผ์ชฝ ์›์†Œ๋ฅผ ์ œ๊ฑฐํ•˜์—ฌ return ํ•œ ํ›„, return ๋œ ๊ฐ’์„ ๋งจ ๋’ค์— ์ถ”๊ฐ€ํ•œ๋‹ค'๋Š” ์˜๋ฏธ์ด๋‹ค.

 

์ด๋Ÿฐ ๋ฐฉ์‹์œผ๋กœ K๋ฒˆ์— 1๋ฒˆ ๊ผด๋กœ ์›์†Œ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ์ถœ๋ ฅํ•  ์ƒˆ๋กœ์šด ๋ฆฌ์ŠคํŠธ์— ์ˆœ์„œ๋Œ€๋กœ ์ถ”๊ฐ€ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

 

 

๋ฐ˜์‘ํ˜•