[Python] 백준11866 요세푸스 문제 0
문제
예제 입력
코드
import sys
from collections import deque
n, k = map(int, sys.stdin.readline().split())
dq=deque([x+1 for x in range(n)])
num = 1
print("<", end="")
while dq :
if num % k == 0 :
if len(dq) == 1 :
print(str(dq[0]) , end="")
else :
print(str(dq[0]) + ", ", end="")
else :
dq.append(dq[0])
num += 1
dq.popleft()
print(">")
설명
파이썬을 통해서 사용자로부터 입력받아 자료형 덱을 큐처럼 사용하여 자리를 비켜줘야 할때가 아니면 순서를 뒤로 미루고 해당 k번 째면 출력합니다. 그리고 조건과 상관없이 pop()하여 구현했습니다.