Algorithm/백준

[백준] 요세푸스 문제 0(11866) - 파이썬

potato_pizza 2024. 6. 23. 17:14
728x90

요세푸스 문제 0(11866)

https://www.acmicpc.net/problem/11866

 

문제

코드

  • queue를 활용한 문제
  • for문을 활용하여 K번째 되는 수마다 추출해서 result 리스트에 넣도록 함.
# 요세푸스 문제
# 11866

from collections import deque

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

queue = deque()
result = []

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

while len(queue) > 0:
    for j in range(1, K):
        queue.append(queue.popleft()) # 1, 2, ..., K-1까지는 popleft()로 뽑아서 뒤로 넘기기
    result.append(str(queue.popleft())) # K번째 값은 popleft()로 결과 창으로 추출

print("<{}>".format(', '.join(result)))
728x90
반응형