(큐, 덱) 요세푸스 문제 0

2020. 3. 3. 16:35개발노트

이 문제의 저작권은 BAEKJOON에 있습니다.

 

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

문제는 위 링크에서 확인할 수 있습니다.

 

#https://www.acmicpc.net/problem/11866
#요세푸스 문제 0
import sys
from collections import deque

N, K = map(int,input().split())
A = [i for i in range(1, N+1)]
q = deque(A)
temp = []
while 1:
    if len(q) == 0:
        print(f'<{", ".join(map(str, temp))}>')
        break
    for _ in range(K-1):
        q.rotate(-1)
    get_pop = q.popleft()
    temp.append(get_pop)

 

총  N명의 사람이 있고 K번째 사람을 제거합니다.

사람들은 원형으로 있기 때문에 K번째 사람을 구하기위해 rotate(-1)을 K번 만큼 해주었습니다.