[python]BOJ 11866:ジョセフス問題0
質問する
![](https://s1.md5.ltd/image/9c25327c9f1e753ccb0d48e75af77728.png)
ジョセフス問題の概念
![](https://s1.md5.ltd/image/812af1d8cd26d34c15a0307fc6bb1239.png)
に答える
import sys
N, K = map(int, sys.stdin.readline().split())
queue = [i for i in range(1, N+1)] # 리스트 컴프리헨션으로 1부터 N까지의 순열 생성
Josephus = []
while queue: # 큐에 원소가 없을 때까지 반복하는 반복문
for _ in range(K-1):
tmp = queue.pop(0) # 첫번째 원소를 pop하여 tmp 변수에 지정
queue.append(tmp) # 큐의 맨 뒤에 tmp를 append함
dead = queue.pop(0) # K번째에 위치한 원소를 제거하고 dead에 지정
Josephus.append(dead) # Josephus 리스트에 dead를 넣어줌
print('<'+', '.join(map(str, Josephus))+'>')
Reference
この問題について([python]BOJ 11866:ジョセフス問題0), 我々は、より多くの情報をここで見つけました https://velog.io/@binsu/Python-BOJテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol